File tree 2 files changed +61
-12
lines changed
2 files changed +61
-12
lines changed Original file line number Diff line number Diff line change 1
1
fn main ( ) {
2
2
unsafe {
3
- let x = & ( ) as * const ( ) ;
4
- x . offset ( 0 ) ;
5
- x . wrapping_add ( 0 ) ;
6
- x . sub ( 0 ) ;
7
- x . wrapping_sub ( 0 ) ;
3
+ let m = & mut ( ) as * mut ( ) ;
4
+ m . offset ( 0 ) ;
5
+ m . wrapping_add ( 0 ) ;
6
+ m . sub ( 0 ) ;
7
+ m . wrapping_sub ( 0 ) ;
8
8
9
- let y = & 1 as * const u8 ;
9
+ let c = & ( ) as * const ( ) ;
10
+ c. offset ( 0 ) ;
11
+ c. wrapping_add ( 0 ) ;
12
+ c. sub ( 0 ) ;
13
+ c. wrapping_sub ( 0 ) ;
14
+
15
+ let y = & 1 as * const i32 ;
10
16
y. offset ( 0 ) ;
11
17
}
12
18
}
Original file line number Diff line number Diff line change 1
- error[E0606]: casting `&i32` as `*const u8` is invalid
2
- --> $DIR/zero_offset.rs:9:17
1
+ error: offset calculation on zero-sized value
2
+ --> $DIR/zero_offset.rs:4:9
3
3
|
4
- LL | let y = &1 as *const u8;
5
- | ^^^^^^^^^^^^^^^
4
+ LL | m.offset(0);
5
+ | ^^^^^^^^^^^
6
+ |
7
+ = note: `#[deny(clippy::zst_offset)]` on by default
8
+
9
+ error: offset calculation on zero-sized value
10
+ --> $DIR/zero_offset.rs:5:9
11
+ |
12
+ LL | m.wrapping_add(0);
13
+ | ^^^^^^^^^^^^^^^^^
14
+
15
+ error: offset calculation on zero-sized value
16
+ --> $DIR/zero_offset.rs:6:9
17
+ |
18
+ LL | m.sub(0);
19
+ | ^^^^^^^^
20
+
21
+ error: offset calculation on zero-sized value
22
+ --> $DIR/zero_offset.rs:7:9
23
+ |
24
+ LL | m.wrapping_sub(0);
25
+ | ^^^^^^^^^^^^^^^^^
26
+
27
+ error: offset calculation on zero-sized value
28
+ --> $DIR/zero_offset.rs:10:9
29
+ |
30
+ LL | c.offset(0);
31
+ | ^^^^^^^^^^^
32
+
33
+ error: offset calculation on zero-sized value
34
+ --> $DIR/zero_offset.rs:11:9
35
+ |
36
+ LL | c.wrapping_add(0);
37
+ | ^^^^^^^^^^^^^^^^^
38
+
39
+ error: offset calculation on zero-sized value
40
+ --> $DIR/zero_offset.rs:12:9
41
+ |
42
+ LL | c.sub(0);
43
+ | ^^^^^^^^
44
+
45
+ error: offset calculation on zero-sized value
46
+ --> $DIR/zero_offset.rs:13:9
47
+ |
48
+ LL | c.wrapping_sub(0);
49
+ | ^^^^^^^^^^^^^^^^^
6
50
7
- error: aborting due to previous error
51
+ error: aborting due to 8 previous errors
8
52
9
- For more information about this error, try `rustc --explain E0606`.
You can’t perform that action at this time.
0 commit comments