Rust is adding a new type for pointers to data that can't move! https://github.com/withoutboats/rfcs/blob/pin-and-move/text/0000-pin.md
This is useful in lots of situations: dealing with FFI/GC in other language runtimes, self references, amongst others.
Related Posts
When writing long-lived programs (daemons etc) in Rust, I find myself asking *where* I should put data.
In a GC'd language it's just "I have a string" but Rust forces me to find somewhere to put it.
You do get a performance benefit for this work though.
Really cute approach to reporting type errors: when there's a type error, show an example of a runtime error that the type check has prevented!
Data-Driven Techniques for Type Error Diagnosis https://escholarship.org/uc/item/59s4h4pv
It's interesting to see the "why not Rust?" discussions around the TypeScript news that they're using Go. It shows that Rust has reached a level of maturity that it's a default for some users.
Go does seem to be in a sweet spot for AOT languages with GC though.