4 ms·
> so it may be that someone had a half-formed idea of how to trigger memory unsafety So someone just had the idea to test the new feature for soundness? It's
by wyldfire 8y ago
> so it may be that someone had a half-formed idea of how to trigger memory unsafety
So someone just had the idea to test the new feature for soundness? It's not as if someone ran some kind of fuzzing or updated a formal methods model? If so, I think it's great that there's vigilant folks out there who try to break new features like this.
- Ari_Rahikkala 8y agoCould be it just came across the right pair of eyes. It's quite reminiscent of the old EvilIx problem in Haskell, where you can break memory safety without doing anything explicitly marked unsafe: https://mail.haskell.org/pipermail/haskell-cafe/2006-December/019994.html https://mail.haskell.org/pipermail/haskell-cafe/2006-Decembe...
- kibwen 8y agoThere are a few places in Rust and its stdlib that people seek to validate with formal methods, but usually these efforts are first focused on proving fundamental pieces (such as std::pin https://doc.rust-lang.org/std/pin/index.html https://doc.rust-lang.org/std/pin/index.html , which I believe has been integrated into Ralf Jung's formal model), and only later on outlying APIs such as this (the rationale being that fundamental APIs would be enormously more disruptive to fix if unsoundness should be discovered). As to your conclusion though, obligatory shout-out to Huon Wilson, who discovered the one other instance of unsoundness in a newly-stabilized API (this one due to a typo, therefore much simpler to resolve), mere hours after the stable release of Rust 1.15: https://www.reddit.com/r/rust/comments/5roiq7/announcing_rust_115/dd8vujs/ https://www.reddit.com/r/rust/comments/5roiq7/announcing_rus... :)