Change:
<ins> error[E0433]: failed to resolve: use of undeclared type `AtomicUsize` --> $DIR/const_refs_to_static-ice-121413.rs:8:24 | LL |     static FOO: Sync = AtomicUsize::new(0); |                        ^^^^^^^^^^^ use of undeclared type `AtomicUsize` | help: consider importing this struct | LL + use std::sync::atomic::AtomicUsize; | warning: trait objects without an explicit `dyn` are deprecated --> $DIR/const_refs_to_static-ice-121413.rs:8:17 | LL |     static FOO: Sync = AtomicUsize::new(0); |                 ^^^^ | = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: `#[warn(bare_trait_objects)]` on by default help: if this is an object-safe trait, use `dyn` | LL |     static FOO: dyn Sync = AtomicUsize::new(0); |                 +++ error[E0277]: the size for values of type `(dyn Sync + 'static)` cannot be known at compilation time --> $DIR/const_refs_to_static-ice-121413.rs:8:17 | LL |     static FOO: Sync = AtomicUsize::new(0); |                 ^^^^ doesn't have a size known at compile-time | = help: the trait `Sized` is not implemented for `(dyn Sync + 'static)` error[E0277]: the size for values of type `(dyn Sync + 'static)` cannot be known at compilation time --> $DIR/const_refs_to_static-ice-121413.rs:8:24 | LL |     static FOO: Sync = AtomicUsize::new(0); |                        ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time | = help: the trait `Sized` is not implemented for `(dyn Sync + 'static)` = note: constant expressions must have a statically known size error: aborting due to 3 previous errors; 1 warning emitted Some errors have detailed explanations: E0277, E0433. For more information about an error, try `rustc --explain E0277`. </ins>

Discussion:
<!-- Thank you for finding an Internal Compiler Error! If possible, try to provide a minimal verifiable example. You can read "Rust Bug Minimization Patterns" for how to create smaller examples. --<!-- If you're using the stable version of the compiler, you should also check if the bug also exists in the beta or nightly versions. --: <!-- Include a backtrace in the code block by setting in your environment. E.g. . --<details<summary<strongBacktrace</strong</summary<p</p</details

<!-- [31mICE[0m: Rustc '-Zcrate-attr=feature(constrefstostatic) -ooutputfile -Zdump-mir-dir=dir' 'error: internal compiler error: expected wide pointer extra data (e.g. slice length or trait object vtable)', 'error: internal compiler error: expected wide pointer extra data (e.g. slice length or trait object vtable)' File: --auto-reduced (treereduce-rust): &lt;details&lt;summary&lt;strongoriginal code&lt;/strong&lt;/summary&lt;poriginal: </p</detailsVersion information Command: &lt;!-- Include a backtrace in the code block by setting in your environment. E.g. . --&lt;details&lt;summary&lt;strongProgram output&lt;/strong&lt;/summary&lt;p&lt;/p&lt;/details&lt;!-- query stack: [evaltoallocationraw] const-evaluating + checking [evaltoconstvalueraw] simplifying constant for the type system [analysis] running analysis passes on this crate --
cc
You can add to get this kind of stacktrace: