mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-30 18:53:39 +00:00
160 lines
6.5 KiB
Plaintext
160 lines
6.5 KiB
Plaintext
error[E0080]: evaluation of constant value failed
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
|
|
|
= note: overflowing in-bounds pointer arithmetic
|
|
|
|
|
note: inside `std::ptr::const_ptr::<impl *const u8>::offset`
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
note: inside `BEFORE_START`
|
|
--> $DIR/offset_ub.rs:7:46
|
|
|
|
|
LL | pub const BEFORE_START: *const u8 = unsafe { (&0u8 as *const u8).offset(-1) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0080]: evaluation of constant value failed
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
|
|
|
= note: out-of-bounds pointer arithmetic: ALLOC0 has size 1, so pointer to 2 bytes starting at offset 0 is out-of-bounds
|
|
|
|
|
note: inside `std::ptr::const_ptr::<impl *const u8>::offset`
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
note: inside `AFTER_END`
|
|
--> $DIR/offset_ub.rs:8:43
|
|
|
|
|
LL | pub const AFTER_END: *const u8 = unsafe { (&0u8 as *const u8).offset(2) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0080]: evaluation of constant value failed
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
|
|
|
= note: out-of-bounds pointer arithmetic: ALLOC1 has size 100, so pointer to 101 bytes starting at offset 0 is out-of-bounds
|
|
|
|
|
note: inside `std::ptr::const_ptr::<impl *const u8>::offset`
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
note: inside `AFTER_ARRAY`
|
|
--> $DIR/offset_ub.rs:9:45
|
|
|
|
|
LL | pub const AFTER_ARRAY: *const u8 = unsafe { [0u8; 100].as_ptr().offset(101) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0080]: evaluation of constant value failed
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
|
|
|
= note: overflowing in-bounds pointer arithmetic
|
|
|
|
|
note: inside `std::ptr::const_ptr::<impl *const u16>::offset`
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
note: inside `OVERFLOW`
|
|
--> $DIR/offset_ub.rs:11:43
|
|
|
|
|
LL | pub const OVERFLOW: *const u16 = unsafe { [0u16; 1].as_ptr().offset(isize::MAX) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0080]: evaluation of constant value failed
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
|
|
|
= note: overflowing in-bounds pointer arithmetic
|
|
|
|
|
note: inside `std::ptr::const_ptr::<impl *const u16>::offset`
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
note: inside `UNDERFLOW`
|
|
--> $DIR/offset_ub.rs:12:44
|
|
|
|
|
LL | pub const UNDERFLOW: *const u16 = unsafe { [0u16; 1].as_ptr().offset(isize::MIN) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0080]: evaluation of constant value failed
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
|
|
|
= note: overflowing in-bounds pointer arithmetic
|
|
|
|
|
note: inside `std::ptr::const_ptr::<impl *const u8>::offset`
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
note: inside `OVERFLOW_ADDRESS_SPACE`
|
|
--> $DIR/offset_ub.rs:13:56
|
|
|
|
|
LL | pub const OVERFLOW_ADDRESS_SPACE: *const u8 = unsafe { (usize::MAX as *const u8).offset(2) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0080]: evaluation of constant value failed
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
|
|
|
= note: overflowing in-bounds pointer arithmetic
|
|
|
|
|
note: inside `std::ptr::const_ptr::<impl *const u8>::offset`
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
note: inside `UNDERFLOW_ADDRESS_SPACE`
|
|
--> $DIR/offset_ub.rs:14:57
|
|
|
|
|
LL | pub const UNDERFLOW_ADDRESS_SPACE: *const u8 = unsafe { (1 as *const u8).offset(-2) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0080]: evaluation of constant value failed
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
|
|
|
= note: out-of-bounds pointer arithmetic: ALLOC2 has size 1, so pointer to 2 bytes starting at offset -4 is out-of-bounds
|
|
|
|
|
note: inside `std::ptr::const_ptr::<impl *const u8>::offset`
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
note: inside `NEGATIVE_OFFSET`
|
|
--> $DIR/offset_ub.rs:15:49
|
|
|
|
|
LL | pub const NEGATIVE_OFFSET: *const u8 = unsafe { [0u8; 1].as_ptr().wrapping_offset(-2).offset(-2) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0080]: evaluation of constant value failed
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
|
|
|
= note: out-of-bounds pointer arithmetic: ALLOC3 has size 0, so pointer to 1 byte starting at offset 0 is out-of-bounds
|
|
|
|
|
note: inside `std::ptr::const_ptr::<impl *const u8>::offset`
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
note: inside `ZERO_SIZED_ALLOC`
|
|
--> $DIR/offset_ub.rs:17:50
|
|
|
|
|
LL | pub const ZERO_SIZED_ALLOC: *const u8 = unsafe { [0u8; 0].as_ptr().offset(1) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0080]: evaluation of constant value failed
|
|
--> $SRC_DIR/core/src/ptr/mut_ptr.rs:LL:COL
|
|
|
|
|
= note: out-of-bounds pointer arithmetic: 0x1[noalloc] is a dangling pointer (it has no provenance)
|
|
|
|
|
note: inside `std::ptr::mut_ptr::<impl *mut u8>::offset`
|
|
--> $SRC_DIR/core/src/ptr/mut_ptr.rs:LL:COL
|
|
note: inside `DANGLING`
|
|
--> $DIR/offset_ub.rs:18:42
|
|
|
|
|
LL | pub const DANGLING: *const u8 = unsafe { ptr::NonNull::<u8>::dangling().as_ptr().offset(4) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0080]: evaluation of constant value failed
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
|
|
|
= note: out-of-bounds pointer arithmetic: null pointer is a dangling pointer (it has no provenance)
|
|
|
|
|
note: inside `std::ptr::const_ptr::<impl *const u8>::offset`
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
note: inside `NULL_OFFSET_ZERO`
|
|
--> $DIR/offset_ub.rs:21:50
|
|
|
|
|
LL | pub const NULL_OFFSET_ZERO: *const u8 = unsafe { ptr::null::<u8>().offset(0) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0080]: evaluation of constant value failed
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
|
|
|
= note: out-of-bounds pointer arithmetic: 0x7f..f[noalloc] is a dangling pointer (it has no provenance)
|
|
|
|
|
note: inside `std::ptr::const_ptr::<impl *const u8>::offset`
|
|
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
|
note: inside `UNDERFLOW_ABS`
|
|
--> $DIR/offset_ub.rs:24:47
|
|
|
|
|
LL | pub const UNDERFLOW_ABS: *const u8 = unsafe { (usize::MAX as *const u8).offset(isize::MIN) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: aborting due to 12 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0080`.
|