フォロー

Google翻訳で読んだけどさっぱりわかんなかったけど、null安全のnull危険みたいなの型?><

· · SubwayTooter · 1 · 0 · 0

@orange_in_space Rust だと平常の C++ と同じく「正しく初期化されたオブジェクトしか存在できない」という安全性保証があるので、低レベルプログラミングとかでほしくなる「ある時点では未初期化かもしれないけど、最終的に特定の型として初期化されるかもしれないモノ」みたいなのを unsafe に扱う必要があり、

@orange_in_space それを今までは

let foo: Foo = unsafe { uninitialized() };
// foo を初期化する

のように雑に扱っていたのを、 MaybeUninit<T> で未初期化かもしれないと明示し、また初期化完了のタイミングで明示的に T 型に変換すれば幸せになれそう、という型の提案です

ログインして会話に参加
:realtek:

思考の /dev/null