Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upManuallyDrop causes pinning to be unsound? #52
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Some more IRC chat: https://botbot.me/mozilla/rust-lang/2018-02-01/?msg=96382526&page=2 |
This was referenced Feb 1, 2018
This comment has been minimized.
This comment has been minimized.
|
And yet more, this time with a possible solution! https://mozilla.logbot.info/servo/20180201#c14230291 |
This comment has been minimized.
This comment has been minimized.
|
A very rough draft of what a fixed API would look like: https://play.rust-lang.org/?gist=6791dbfd630b20c8cabda5511e43e089&version=stable |
This comment has been minimized.
This comment has been minimized.
|
Posted a "lessons learned" message to the unsafe code guidelines discussion forum: https://internals.rust-lang.org/t/rust-1-20-caused-pinning-to-become-incorrect/6695 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
asajeffrey commentedJan 31, 2018
ManuallyDrop<Pin<T>>causesPin<T>not to call its destructor, oh dear. This is different frommem::forget(T)because that has to be called after the pinning (so the borrowchecker will complain about lifetimes) whereasManuallyDrop::newis called before. Sigh.