I don't think that's very useful. What would be useful is a Rust with GC, turn off lifetimes and such, and let people build real systems, then show how to turn them back on. There's a variant on gradual typing, multi-lingual programming, etc., that is embedded in all this. ↵
Comments
Remove those and you end up with a markedly different language.
+ people are already building real systems w/ these enabled.
I don’t mind a “mini Rust, but it should arguably be its own language.
https://bsky.app/profile/shriram.bsky.social/post/3lk5es5i7js25
https://bsky.app/profile/shriram.bsky.social/post/3lk4t4vjhbc2p
A Rust lifetime could correspond to the lifetime of an object that fronts allocation via a GCed arena, but I guess syntax for explicitly allocating into an arena is the exact kind of embiggening you'd want to avoid.
Iirc, the whole process separation of JS object graphs for different origins led to a lot of research on collecting cross-GC-arena.
Yeah: https://dl.acm.org/doi/abs/10.1145/2866576
https://arxiv.org/abs/2110.01098
https://bsky.app/profile/mcoblenz.bsky.social/post/3lk5d2uksic2f
The only reason I even cared is like, you want to make sure the API as presented is possible.
IIRC the issue was like, aliasing &mut Ts.