File tree 3 files changed +6
-6
lines changed
3 files changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -3,5 +3,5 @@ fn main() {
3
3
let arr = [ 0u8 ; 8 ] ;
4
4
let ptr1 = arr. as_ptr ( ) ;
5
5
let ptr2 = ptr1. wrapping_add ( 4 ) ;
6
- let _val = unsafe { ptr1. sub_ptr ( ptr2) } ; //~ERROR: first pointer has smaller address than second
6
+ let _val = unsafe { ptr1. offset_from_unsigned ( ptr2) } ; //~ERROR: first pointer has smaller address than second
7
7
}
Original file line number Diff line number Diff line change 1
1
error: Undefined Behavior: `ptr_offset_from_unsigned` called when first pointer has smaller address than second: $ADDR < $ADDR
2
2
--> tests/fail/intrinsics/ptr_offset_from_unsigned_neg.rs:LL:CC
3
3
|
4
- LL | let _val = unsafe { ptr1.sub_ptr (ptr2) };
5
- | ^^^^^^^^^^^^^^^^^^ `ptr_offset_from_unsigned` called when first pointer has smaller address than second: $ADDR < $ADDR
4
+ LL | let _val = unsafe { ptr1.offset_from_unsigned (ptr2) };
5
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from_unsigned` called when first pointer has smaller address than second: $ADDR < $ADDR
6
6
|
7
7
= help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior
8
8
= help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information
Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ fn smoke() {
21
21
let _val = ptr. wrapping_sub ( 0 ) ;
22
22
let _val = unsafe { ptr. sub ( 0 ) } ;
23
23
let _val = unsafe { ptr. offset_from ( ptr) } ;
24
- let _val = unsafe { ptr. sub_ptr ( ptr) } ;
24
+ let _val = unsafe { ptr. offset_from_unsigned ( ptr) } ;
25
25
}
26
26
27
27
fn test_offset_from ( ) {
@@ -32,14 +32,14 @@ fn test_offset_from() {
32
32
let y = x. offset ( 12 ) ;
33
33
34
34
assert_eq ! ( y. offset_from( x) , 12 ) ;
35
- assert_eq ! ( y. sub_ptr ( x) , 12 ) ;
35
+ assert_eq ! ( y. offset_from_unsigned ( x) , 12 ) ;
36
36
assert_eq ! ( x. offset_from( y) , -12 ) ;
37
37
assert_eq ! ( ( y as * const u32 ) . offset_from( x as * const u32 ) , 12 / 4 ) ;
38
38
assert_eq ! ( ( x as * const u32 ) . offset_from( y as * const u32 ) , -12 / 4 ) ;
39
39
40
40
let x = ( ( ( x as usize ) * 2 ) / 2 ) as * const u8 ;
41
41
assert_eq ! ( y. offset_from( x) , 12 ) ;
42
- assert_eq ! ( y. sub_ptr ( x) , 12 ) ;
42
+ assert_eq ! ( y. offset_from_unsigned ( x) , 12 ) ;
43
43
assert_eq ! ( x. offset_from( y) , -12 ) ;
44
44
}
45
45
}
You can’t perform that action at this time.
0 commit comments