-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
regression: the type (dyn Any + 'static)
may contain interior mutability
#125193
Comments
I'll need to re-check later but this seems to bisect to #123203 somehow. |
The UI test changes from that PR appear to back this up, as confusing as it is. |
I'm not sure what's going on in that crate, if it built successfully by mistake, or how that PR interacts with it, so let's cc the PR author @jkarneges and reviewer @Amanieu for validation. |
After #123203, Repro: playground use std::panic::UnwindSafe;
use std::task::Context;
fn unwind_safe<T: UnwindSafe>() {}
fn main() {
unwind_safe::<Context<'_>>(); // test UnwindSafe
unwind_safe::<&Context<'_>>(); // test RefUnwindSafe
} @rustbot label -T-compiler +T-libs +S-has-mcve |
WG-prioritization assigning priority (Zulip discussion). Noticing this comment on #123303 which says that was meant to be confined on nightly. Unsure about the fallout of this regression but for now marking as critical for tracking purposes. @rustbot label -I-prioritize +P-critical |
Revert up: #125377 |
Isn't |
@jkarneges That line was added by your PR, so while what you say is technically true, talking about what "already happened" when we are traveling back and forth through time via version control may be more confusing than helpful. |
That line was already there. I added the line below it though. Original PR: https://github.com/rust-lang/rust/pull/123203/files#diff-c5319e149ad3e9d38c996d031a756a8437a533ea9f8bbb2cdfdb8f4c4a423b82 |
Apologies, I guess I can't count numbers today? Hm, so, the full error of the regression is this:
Note that it's trying to make a pointer implement Thus unfortunately that line you pointed to, as opposed to the one I thought you were referring to, is effectively just documenting that all And confusingly, |
I have opened #125392 as an alternative. |
Rollup merge of rust-lang#125392 - workingjubilee:unwind-a-problem-in-context, r=Amanieu Wrap Context.ext in AssertUnwindSafe Fixes rust-lang#125193 Alternative to rust-lang#125377 Relevant to rust-lang#123392 I believe this approach is justifiable due to the fact that this function is unstable API and we have been considering trying to dispose of the notion of "unwind safety". Making a more long-term decision should be considered carefully as part of stabilizing `fn ext`, if ever. r? `@Amanieu`
… r=Amanieu Wrap Context.ext in AssertUnwindSafe Fixes rust-lang/rust#125193 Alternative to rust-lang/rust#125377 Relevant to rust-lang/rust#123392 I believe this approach is justifiable due to the fact that this function is unstable API and we have been considering trying to dispose of the notion of "unwind safety". Making a more long-term decision should be considered carefully as part of stabilizing `fn ext`, if ever. r? `@Amanieu`
The text was updated successfully, but these errors were encountered: