Rollup merge of #84972 - RalfJung:null-ptr-msg, r=oli-obk
CTFE inbounds-error-messages tweak * use CheckInAllocMsg::PointerArithmeticTest for ptr_offset error * nicer errors for some null pointer cases r? `@oli-obk`
This commit is contained in:
commit
47050275f4
9 changed files with 15 additions and 11 deletions
|
|
@ -296,7 +296,7 @@ error[E0080]: could not evaluate static initializer
|
|||
--> $DIR/ub-wide-ptr.rs:135:5
|
||||
|
|
||||
LL | mem::transmute::<_, &dyn Trait>((&92u8, 0usize))
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ inbounds test failed: 0x0 is not a valid pointer
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ null pointer is not allowed for this operation
|
||||
|
||||
error[E0080]: could not evaluate static initializer
|
||||
--> $DIR/ub-wide-ptr.rs:139:5
|
||||
|
|
|
|||
|
|
@ -296,7 +296,7 @@ error[E0080]: could not evaluate static initializer
|
|||
--> $DIR/ub-wide-ptr.rs:135:5
|
||||
|
|
||||
LL | mem::transmute::<_, &dyn Trait>((&92u8, 0usize))
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ inbounds test failed: 0x0 is not a valid pointer
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ null pointer is not allowed for this operation
|
||||
|
||||
error[E0080]: could not evaluate static initializer
|
||||
--> $DIR/ub-wide-ptr.rs:139:5
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ error: any use of this value will cause an error
|
|||
LL | unsafe { intrinsics::ptr_offset_from(self, origin) }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| inbounds test failed: 0x0 is not a valid pointer
|
||||
| null pointer is not allowed for this operation
|
||||
| inside `ptr::const_ptr::<impl *const u8>::offset_from` at $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
||||
| inside `OFFSET_FROM_NULL` at $DIR/offset_from_ub.rs:36:14
|
||||
|
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ error: any use of this value will cause an error
|
|||
LL | unsafe { intrinsics::offset(self, count) }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| inbounds test failed: pointer must be in-bounds at offset 2, but is outside bounds of allocN which has size 1
|
||||
| pointer arithmetic failed: pointer must be in-bounds at offset 2, but is outside bounds of allocN which has size 1
|
||||
| inside `ptr::const_ptr::<impl *const u8>::offset` at $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
||||
| inside `AFTER_END` at $DIR/offset_ub.rs:7:43
|
||||
|
|
||||
|
|
@ -41,7 +41,7 @@ error: any use of this value will cause an error
|
|||
LL | unsafe { intrinsics::offset(self, count) }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| inbounds test failed: pointer must be in-bounds at offset 101, but is outside bounds of allocN which has size 100
|
||||
| pointer arithmetic failed: pointer must be in-bounds at offset 101, but is outside bounds of allocN which has size 100
|
||||
| inside `ptr::const_ptr::<impl *const u8>::offset` at $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
||||
| inside `AFTER_ARRAY` at $DIR/offset_ub.rs:8:45
|
||||
|
|
||||
|
|
@ -131,7 +131,7 @@ error: any use of this value will cause an error
|
|||
LL | unsafe { intrinsics::offset(self, count) }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| inbounds test failed: pointer must be in-bounds at offset 1, but is outside bounds of allocN which has size 0
|
||||
| pointer arithmetic failed: pointer must be in-bounds at offset 1, but is outside bounds of allocN which has size 0
|
||||
| inside `ptr::const_ptr::<impl *const u8>::offset` at $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
||||
| inside `ZERO_SIZED_ALLOC` at $DIR/offset_ub.rs:15:50
|
||||
|
|
||||
|
|
@ -167,7 +167,7 @@ error: any use of this value will cause an error
|
|||
LL | unsafe { intrinsics::offset(self, count) }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| inbounds test failed: 0x0 is not a valid pointer
|
||||
| pointer arithmetic failed: 0x0 is not a valid pointer
|
||||
| inside `ptr::const_ptr::<impl *const u8>::offset` at $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
||||
| inside `NULL_OFFSET_ZERO` at $DIR/offset_ub.rs:19:50
|
||||
|
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ error: any use of this value will cause an error
|
|||
LL | unsafe { intrinsics::offset(self, count) }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| inbounds test failed: pointer must be in-bounds at offset $TWO_WORDS, but is outside bounds of alloc2 which has size $WORD
|
||||
| pointer arithmetic failed: pointer must be in-bounds at offset $TWO_WORDS, but is outside bounds of alloc2 which has size $WORD
|
||||
| inside `ptr::const_ptr::<impl *const usize>::offset` at $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
||||
| inside `_` at $DIR/ptr_comparisons.rs:61:34
|
||||
|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue