promote_consts experiment: do not promote !Freeze shared references
This is a crater experiment to measure the fallout from not promoting shared references to !Freeze types. IOW, this switches promotion from value-based reasoning to type-based reasoning about interior mutability.
Landing this PR would fix https://github.com/rust-lang/unsafe-code-guidelines/issues/493 but I doubt we can get away with that.
@bors2 try
:hourglass: Trying commit 19a8ea30c20c313c079029e5d6be2bd549240b66 with merge 51087fb057be0b73de65616d4903b63705c0dbcc…
To cancel the try build, run the command @bors2 try cancel.
The job x86_64-gnu-tools failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
error[E0515]: cannot return value referencing temporary value
--> compiler/rustc_pattern_analysis/src/pat.rs:194:9
|
194 | / match self {
195 | | PatOrWild::Wild => &Wildcard,
| | -------- temporary value created here
196 | | PatOrWild::Pat(pat) => pat.ctor(),
197 | | }
| |_________^ returns a value referencing data owned by the current function
For more information about this error, try `rustc --explain E0515`.
[RUSTC-TIMING] rustc_pattern_analysis test:false 1.317
error: could not compile `rustc_pattern_analysis` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
@bors2 try
:hourglass: Trying commit deba557e7618e498f2426e297defdfea5c2b9a5b with merge 901e6d56697c79b2e80df6a487b2318ec6f57ee3…
To cancel the try build, run the command @bors2 try cancel.
The job mingw-check-1 failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
error[E0515]: cannot return value referencing temporary value
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ra-ap-rustc_pattern_analysis-0.113.0/src/pat.rs:194:9
|
194 | / match self {
195 | | PatOrWild::Wild => &Wildcard,
| | -------- temporary value created here
196 | | PatOrWild::Pat(pat) => pat.ctor(),
197 | | }
| |_________^ returns a value referencing data owned by the current function
For more information about this error, try `rustc --explain E0515`.
[RUSTC-TIMING] ra_ap_rustc_pattern_analysis test:false 1.011
error: could not compile `ra-ap-rustc_pattern_analysis` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
:sunny: Try build successful (CI)
Build commit: 901e6d56697c79b2e80df6a487b2318ec6f57ee3 (901e6d56697c79b2e80df6a487b2318ec6f57ee3)
@craterbot check
:construction: Experiment pr-142287 is now running
:information_source: Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more
:ok_hand: Experiment pr-142287 created and queued.
:robot: Automatically detected try build 901e6d56697c79b2e80df6a487b2318ec6f57ee3
:mag: You can check out the queue and this experiment's details.
:information_source: Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more
:tada: Experiment pr-142287 is completed!
:bar_chart: 6478 regressed and 6 fixed (645631 total)
:newspaper: Open the full report.
:warning: If you notice any spurious failure please add them to the denylist! :information_source: Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more
Oh wow, this is even more than the 4k regressions we got last time... and last time we technically broke more code. I guess that's just a sign of how much the ecosystem has been growing...