-
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
remove blanket-Freeze for PhantomData #114559
Conversation
r? @TaKO8Ki (rustbot has picked a reviewer for you, use r? to override) |
@bors try |
⌛ Trying commit 105df08 with merge 8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f... |
This comment has been minimized.
This comment has been minimized.
☀️ Try build successful - checks-actions |
@craterbot check |
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
344af67
to
5f6edef
Compare
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
Regarding the UI test, there's a good chance there are some UnsafeCell tests in the root dir and it would be nice moving those. |
🎉 Experiment
|
@craterbot run mode=check-only crates=https://crater-reports.s3.amazonaws.com/pr-114559/retry-regressed-list.txt |
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
Ah never mind, this needs a rerun with the last commit included. @bors try |
🗑️ Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
⌛ Trying commit 5f6edef with merge 4001eed09e19538fd1a219411bb07c1bce2bbf55... |
☀️ Try build successful - checks-actions |
@craterbot run mode=check-only crates=https://crater-reports.s3.amazonaws.com/pr-114559/retry-regressed-list.txt |
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
🎉 Experiment
|
The vast majority of these seem to trace back to 2 root causes:
|
So, this seems unlikely right now, we'd need solid motivation for the breaking change. |
The exact behavior of types that are only partially covered by
UnsafeCell
is still up for debate. So we shouldn't rush to the conclusion thatPhantomData<UnsafeCell<T>>
has no interior mutability. Let's take back that blanket impl. This will need a crater run because it is a breaking change -- but the locations whereFreeze
makes the difference are few and far between, so the impact is likely to be low. (UnsafeCell
is also!Sync
and that has the much bigger impact, and is not masked byPhantomData
.)I couldn't find an existing ui test folder that fits, so I created a new one. tidy doesn't seem to like that though, it complains about new files and new folders, which is kind of counterproductive? I had to silence it the hard way.