5de8e6edfc
When both `std::` and `core::` items are available, only suggest the `std::` ones. We ensure that in `no_std` crates we suggest `core::` items. Ensure that the list of items suggested to be imported are always in the order of local crate items, `std`/`core` items and finally foreign crate items. Tweak wording of import suggestion: if there are multiple items but they are all of the same kind, we use the kind name and not the generic "items". Fix #83564.
47 lines
1.9 KiB
Plaintext
47 lines
1.9 KiB
Plaintext
error[E0433]: failed to resolve: use of undeclared type `AtomicUsize`
|
|
--> $DIR/const_refs_to_static-ice-121413.rs:9: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:9: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:9: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:9: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`.
|