The article explains Rust's `std::pin::Pin` type, which ensures that a value in memory cannot be moved once pinned. It covers why pinning is necessary for self-referential structs and async state machines, how `Pin` works with `Box` and stack pinning, and the safety guarantees provided by `Unpin` and `!Unpin` traits.
Background
Rust is a systems programming language focused on safety and performance. A core guarantee is that values cannot move in memory while they are borrowed (to prevent dangling pointers). However, certain types (called "self-referential" types) contain pointers to their own memory — if the value moves, those internal pointers become invalid.
`std::pin::Pin<P>` is a Rust wrapper type that prevents the underlying value from ever being moved again. It is essential for:
- **Async Rust**: The `Future` trait often creates self-referential structs across `await` points; the async runtime must `Pin` the future or move operations would cause undefined behavior.
- **Custom smart pointers**: Types like `Box::pin` and `pin!` macro let you create pinned heap/stack allocations.
Before Rust 1.0 (2015), self-referential types were simply forbidden. The `Pin` API was stabilized in Rust 1.33 (2019) to safely enable them. Understanding pinning is one of the harder concepts for Rust beginners because it requires reasoning about memory layouts, ownership, and borrow checker rules simultaneously.
Max Weinbach says he had early access to OpenAI's new model GPT-5.6 Sol, calling it his favorite model by far. He highlights that it never gives up and will keep reasoning until it's done. OpenAI announced that GPT-5.6 Sol, along with Terra and Luna, will launch publicly on Thursday, with preview access expanding globally now.
The US government ordered Anthropic to suspend access to its Fable 5 and Mythos 5 models for all customers, citing a potential jailbreak technique that involved asking the model to review a codebase for vulnerabilities—a capability Anthropic says is available in other public models. Access was abruptly cut off on June 12.
Andrej Karpathy announces the release of Claude Fable 5, the same underlying model as Mythos but with added safeguards. He calls it a major step forward, particularly for long problem-solving sessions on difficult tasks, and describes it as state-of-the-art on nearly all benchmarks with exceptional performance in software engineering, research, and vision.
Roman Storm warns that the legal theory in his case could set a precedent making open-source developers liable for how others use their code, potentially criminalizing the mere publication of privacy, messaging, or crypto tools. He notes that developer Michael Lewellen cannot publish lawful code due to prosecution fears, and argues this chilling effect extends beyond any single case.
Meta's engineering culture is deteriorating under Mark Zuckerberg and Scale AI CEO Alexandr Wang, who have introduced keyboard tracking, reassignments to data labeling, and AI-centric performance metrics. Critics argue this incentivizes performative AI use, drives away experienced engineers, and contributed to a major Instagram hijacking incident caused by AI-written and AI-reviewed code.