-
Notifications
You must be signed in to change notification settings - Fork 130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use ManuallyDrop #62
Comments
Consider using version_check which is small enough to be worth it(?) |
This can only get the version at runtime – do you want to add a build script? |
Yep, exactly. Example https://github.com/bluss/debugit/blob/master/build.rs (this one is checking nightly and not the version..) |
We can handle this without breaks, as long as the minimum rust version is reasonable (not 1.2). However, the question of uninit data inside manuallydrop is unresolved, so we can't really start to use it without including other workarounds too. |
Looks like f33c4e4 snuck in ManuallyDrop if the Is there anything left to do, besides version detection, before it can entirely replace nodrop? |
sigh, that was not intended :( |
It's fine to use ManuallyDrop for use_union. What remains for arrayvec 1.0 is to answer the question about uninitialized data in ManuallyDrop. There was some disagreement in #rustc. |
Thanks for pointing out that it snuck in, by the way. It was obviously not intended to sneak in. |
Can you link to the discussion about uninit data in |
The discussion is here: https://botbot.me/mozilla/rustc/2017-08-24/?msg=90238011&page=3 There are different opinions. I don't think specific people are wrong here, but my collected impression was that there is no consensus on the safety of uninitialized in ManuallyDrop |
Your idea of making a union |
Current wip is #76 |
Closed in favour of #118 |
ManuallyDrop is stable in Rust 1.20 (not yet released).
This is the official nodrop that arrayvec has been waiting a long time for; it's likely that we will use Rust 1.20 as the new required version from this point.
The text was updated successfully, but these errors were encountered: