3 ms·
Another example is Rust's borrow checker, which has roots in substructural type system papers from decades earlier. Many academics considered substructural type
by pcwalton 2y ago
Another example is Rust's borrow checker, which has roots in substructural type system papers from decades earlier. Many academics considered substructural type systems dead (killed by GC, more or less) until Rust resurrected the idea by combining it with some new ideas from C++ of the time.
- protomolecule 2y ago"with some new ideas from C++ of the time" Could you elaborate on that?
- masklinn 2y agoI assume it's the deterministic, implicit, synchronous, single-use destructor. Affine logic only says what you're able to do with a value, it doesn't say anything about what happens when that value goes out of scope.
- protomolecule 2y agoHmm, that's possible
- pcwalton 2y agoMove semantics and rvalue references. It was clear that within C++11 there was a substructural type system struggling to get out.
- protomolecule 2y agoI was going to say that Rust's destructive move is quite different from C++'s move semantics, but official docs disagree: "C++: references, RAII, smart pointers, move semantics, monomorphization, memory model" [0] [0] https://doc.rust-lang.org/reference/influences.html https://doc.rust-lang.org/reference/influences.html