Google翻訳で読んだけどさっぱりわかんなかったけど、null安全のnull危険みたいなの型?><
@orange_in_space Rust だと平常の C++ と同じく「正しく初期化されたオブジェクトしか存在できない」という安全性保証があるので、低レベルプログラミングとかでほしくなる「ある時点では未初期化かもしれないけど、最終的に特定の型として初期化されるかもしれないモノ」みたいなのを unsafe に扱う必要があり、
@orange_in_space それを今までは
let foo: Foo = unsafe { uninitialized() };// foo を初期化する
のように雑に扱っていたのを、 MaybeUninit<T> で未初期化かもしれないと明示し、また初期化完了のタイミングで明示的に T 型に変換すれば幸せになれそう、という型の提案です
思考の /dev/null
@orange_in_space Rust だと平常の C++ と同じく「正しく初期化されたオブジェクトしか存在できない」という安全性保証があるので、低レベルプログラミングとかでほしくなる「ある時点では未初期化かもしれないけど、最終的に特定の型として初期化されるかもしれないモノ」みたいなのを unsafe に扱う必要があり、