2022-09-21 06:05:20 -05:00
error[E0080]: evaluation of constant value failed
2024-02-16 03:01:43 -06:00
--> $DIR/const_refers_to_static.rs:10:5
2022-09-21 06:05:20 -05:00
|
LL | FOO.fetch_add(1, Ordering::Relaxed)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ calling non-const function `AtomicUsize::fetch_add`
error[E0080]: evaluation of constant value failed
2024-02-16 03:01:43 -06:00
--> $DIR/const_refers_to_static.rs:15:14
2022-09-21 06:05:20 -05:00
|
LL | unsafe { *(&FOO as *const _ as *const usize) }
2024-01-05 05:18:11 -06:00
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constant accesses mutable global memory
2022-09-21 06:05:20 -05:00
error[E0080]: evaluation of constant value failed
2024-02-16 03:01:43 -06:00
--> $DIR/const_refers_to_static.rs:19:32
2022-09-21 06:05:20 -05:00
|
LL | const READ_MUT: u32 = unsafe { MUTABLE };
2024-01-05 05:18:11 -06:00
| ^^^^^^^ constant accesses mutable global memory
2023-12-16 09:24:25 -06:00
2024-01-06 06:48:48 -06:00
error[E0080]: it is undefined behavior to use this value
2024-02-16 03:01:43 -06:00
--> $DIR/const_refers_to_static.rs:22:1
2024-01-06 06:48:48 -06:00
|
LL | const REF_INTERIOR_MUT: &usize = {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered reference to mutable memory in `const`
|
= note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
2024-02-16 03:01:43 -06:00
= note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
HEX_DUMP
2024-01-06 06:48:48 -06:00
}
2022-09-21 06:05:20 -05:00
warning: skipping const checks
|
2024-01-05 05:18:11 -06:00
help: skipping check for `const_refs_to_static` feature
2024-02-16 03:01:43 -06:00
--> $DIR/const_refers_to_static.rs:10:5
2022-09-21 06:05:20 -05:00
|
LL | FOO.fetch_add(1, Ordering::Relaxed)
| ^^^
help: skipping check that does not even have a feature gate
2024-02-16 03:01:43 -06:00
--> $DIR/const_refers_to_static.rs:10:5
2022-09-21 06:05:20 -05:00
|
LL | FOO.fetch_add(1, Ordering::Relaxed)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-01-05 05:18:11 -06:00
help: skipping check for `const_refs_to_static` feature
2024-02-16 03:01:43 -06:00
--> $DIR/const_refers_to_static.rs:15:17
2022-09-21 06:05:20 -05:00
|
LL | unsafe { *(&FOO as *const _ as *const usize) }
| ^^^
2024-01-05 05:18:11 -06:00
help: skipping check for `const_refs_to_static` feature
2024-02-16 03:01:43 -06:00
--> $DIR/const_refers_to_static.rs:19:32
2022-09-21 06:05:20 -05:00
|
LL | const READ_MUT: u32 = unsafe { MUTABLE };
| ^^^^^^^
2024-01-05 05:18:11 -06:00
help: skipping check for `const_refs_to_static` feature
2024-02-16 03:01:43 -06:00
--> $DIR/const_refers_to_static.rs:25:18
2022-09-21 06:05:20 -05:00
|
LL | unsafe { &*(&FOO as *const _ as *const usize) }
| ^^^
2024-01-05 05:18:11 -06:00
help: skipping check for `const_refs_to_static` feature
2024-02-16 03:01:43 -06:00
--> $DIR/const_refers_to_static.rs:30:25
2023-12-16 09:24:25 -06:00
|
LL | const REF_IMMUT: &u8 = &MY_STATIC;
| ^^^^^^^^^
2022-09-21 06:05:20 -05:00
2024-01-06 06:48:48 -06:00
error: aborting due to 4 previous errors; 1 warning emitted
2022-09-21 06:05:20 -05:00
For more information about this error, try `rustc --explain E0080`.