Uh oh!
There was an error while loading. Please reload this page.
Make UnsafeCell::into_inner safe - #47204
Conversation
This fixesrust-lang#35067. It will require a Crater run as discussed in that issue.
rust-highfive
commented
Jan 5, 2018
(rust_highfive has picked a reviewer for you, use r? to override) |
Mark-Simulacrum
commented
Jan 5, 2018
r? @BurntSushi @bors try cc @aidanhs for crater |
bors
commented
Jan 5, 2018
Make UnsafeCell::into_inner safe This fixes#35067. It will require a Crater run as discussed in that issue.
cramertj
commented
Jan 5, 2018
This shouldn't need a crater anymore since this works now: let x:unsafefn(_) -> _ = UnsafeCell::<u32>::into_inner;I added that conversion way back in #37389. |
bors
commented
Jan 5, 2018
💔 Test failed - status-travis |
nikomatsakis
commented
Jan 5, 2018
It still technically needs a crater run. There are other ways to expose the type. e.g. you might have a trait implemented only for |
cramertj
commented
Jan 5, 2018
@nikomatsakis Even then you'd still have to trigger the coercion to traitFoo{fnbar(&self){}}implFooforunsafefn(){}unsafefnbaz(){}fnmain(){// These do not work:
baz.bar();Foo::bar(&baz);// These do:let x:unsafefn() = baz;
x.bar();Foo::bar(&x);} |
nikomatsakis
commented
Jan 5, 2018
@cramertj ah, hmm, good point. You may be right. =) |
carols10cents
commented
Jan 9, 2018
errrrr try failed because of... cargo? I'm going to see if retrying works... @bors try |
@bors clean retry try |
bors
commented
Jan 10, 2018
Make UnsafeCell::into_inner safe This fixes#35067. It will require a Crater run as discussed in that issue.
bors
commented
Jan 10, 2018
💔 Test failed - status-travis |
kennytm
commented
Jan 10, 2018
Nope doesn't work. Cargo needs to add |
Mark-Simulacrum
commented
Jan 10, 2018
This is a breaking change because of the deny(warnings) resulting the compilation failure, though it is minor. We have done this in the past, though (most recently with the ASCII extension traits). @rust-lang/libs: Do we want to do this considering the breaking change aspect? |
alexcrichton
commented
Jan 10, 2018
@rfcbot fcp merge Curious to see what the libs team thinks! |
Team member @alexcrichton has proposed to merge this. The next step is review by the rest of the tagged teams: No concerns currently listed. Once these reviewers reach consensus, this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! See this document for info about what commands tagged team members can give me. |
rfcbot
commented
Jan 23, 2018
🔔 This is now entering its final comment period, as per the review above. 🔔 |
alexcrichton
commented
Jan 23, 2018
@bors: r+ |
bors
commented
Jan 23, 2018
📌 Commit 4829d50 has been approved by |
bors
commented
Jan 24, 2018
⌛ Testing commit 4829d50 with merge ea2b106d7305b530c34266858ecbd55bfcae03b3... |
bors
commented
Jan 24, 2018
💔 Test failed - status-travis |
Same error as #47204 (comment), please fix cargo first. (Triage: Blocked by rust-lang/cargo#4972) |
rust-lang/rust#47204 makes `UnsafeCell::into_inner` safe, which means `LazyCell::into_inner` will no longer need an `unsafe` block. `LazyCell` is a blocker for the change in Rust: this fix should allow the change to take place.
Allow unused_unsafe in LazyCell in preparation for lib change rust-lang/rust#47204 makes `UnsafeCell::into_inner` safe, which means `LazyCell::into_inner` will no longer need an `unsafe` block. `LazyCell` is a blocker for the change in Rust: this fix should allow the change to take place.
kennytm
commented
Jan 28, 2018
@bors retry The cargo on master contained rust-lang/cargo#4972 already. |
bors
commented
Jan 28, 2018
Make UnsafeCell::into_inner safe This fixes#35067. It will require a Crater run as discussed in that issue.
bors
commented
Jan 28, 2018
💔 Test failed - status-appveyor |
alexcrichton
commented
Jan 28, 2018
Er this passed, just a 3 hour timeout, merged manually |
This fixes#35067. It will require a Crater run as discussed in that
issue.