まとめ ・自己参照を許すと、ムーブや可変参照を扱うこと自体がダングリングポインタを産む可能性をはらんでしまう(&mut があると mem::replace を用いて自己参照を持つ方を unsafe 文の外でムーブしてしまえる→死亡)
-
Show this thread
-
・Future::poll や Iterator::next のレシーバを &self にすれば問題は生じなくなるが、これはまず無理 ・なので、自己参照を持たなければ &mut と等価になる便利な参照型を作ろう→ Pin<'a, T> ・自己参照を持つ(すなわちムーブ不可である)ことは専用のマーカトレイトで表現するよ→Unpin
1 reply 0 retweets 1 likeShow this thread
・自己参照を持つときには DerefMut を実装しないから &mut 欲しけりゃ自己責任で(ムーブしないことを保証した上で)やってね ・ジェネレータで自己参照使えるようにした(してた?)。resume() 呼び出した後にムーブされると困るから unsafe にしたよ(レシーバを Pin にすれば不要)
1:18 PM - 28 Mar 2018
0 replies
0 retweets
1 like
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.