You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tests/ui/cast_slice_different_sizes.stderr
+52-1Lines changed: 52 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -48,5 +48,56 @@ error: casting between raw pointers to `[i32]` (element size 4) and `[u8]` (elem
48
48
LL | let long_chain_loss = r_x as *const [i32] as *const [u32] as *const [u16] as *const [i8] as *const [u8];
49
49
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with `ptr::slice_from_raw_parts`: `core::ptr::slice_from_raw_parts(r_x as *const [i32] as *const [u32] as *const [u16] as *const [i8] as *const u8, ..)`
50
50
51
-
error: aborting due to 6 previous errors
51
+
error: casting between raw pointers to `[mut u16]` (element size 2) and `[mut u8]` (element size 1) does not adjust the count
52
+
--> $DIR/cast_slice_different_sizes.rs:53:36
53
+
|
54
+
LL | fn bar(x: *mut [u16]) -> *mut [u8] {
55
+
| ____________________________________^
56
+
LL | | x as *mut [u8]
57
+
LL | | }
58
+
| |_^ help: replace with `ptr::slice_from_raw_parts_mut`: `core::ptr::slice_from_raw_parts_mut(x as *mut mut u8, ..)`
59
+
60
+
error: casting between raw pointers to `[mut u16]` (element size 2) and `[mut u8]` (element size 1) does not adjust the count
61
+
--> $DIR/cast_slice_different_sizes.rs:57:36
62
+
|
63
+
LL | fn uwu(x: *mut [u16]) -> *mut [u8] {
64
+
| ____________________________________^
65
+
LL | | x as *mut _
66
+
LL | | }
67
+
| |_^ help: replace with `ptr::slice_from_raw_parts_mut`: `core::ptr::slice_from_raw_parts_mut(x as *mut mut u8, ..)`
68
+
69
+
error: casting between raw pointers to `[mut u16]` (element size 2) and `[mut u8]` (element size 1) does not adjust the count
70
+
--> $DIR/cast_slice_different_sizes.rs:61:37
71
+
|
72
+
LL | fn bar2(x: *mut [u16]) -> *mut [u8] {
73
+
| _____________________________________^
74
+
LL | | x as _
75
+
LL | | }
76
+
| |_^ help: replace with `ptr::slice_from_raw_parts_mut`: `core::ptr::slice_from_raw_parts_mut(x as *mut mut u8, ..)`
77
+
78
+
error: casting between raw pointers to `[mut u16]` (element size 2) and `[mut u8]` (element size 1) does not adjust the count
79
+
--> $DIR/cast_slice_different_sizes.rs:66:39
80
+
|
81
+
LL | fn blocks(x: *mut [u16]) -> *mut [u8] {
82
+
| _______________________________________^
83
+
LL | | ({ x }) as _
84
+
LL | | }
85
+
| |_^ help: replace with `ptr::slice_from_raw_parts_mut`: `core::ptr::slice_from_raw_parts_mut(({ x }) as *mut mut u8, ..)`
86
+
87
+
error: casting between raw pointers to `[mut u16]` (element size 2) and `[mut u8]` (element size 1) does not adjust the count
88
+
--> $DIR/cast_slice_different_sizes.rs:70:44
89
+
|
90
+
LL | fn more_blocks(x: *mut [u16]) -> *mut [u8] {
91
+
| ____________________________________________^
92
+
LL | | { ({ x }) as _ }
93
+
LL | | }
94
+
| |_^ help: replace with `ptr::slice_from_raw_parts_mut`: `core::ptr::slice_from_raw_parts_mut(({ x }) as *mut mut u8, ..)`
95
+
96
+
error: casting between raw pointers to `[mut u16]` (element size 2) and `[mut u8]` (element size 1) does not adjust the count
97
+
--> $DIR/cast_slice_different_sizes.rs:71:5
98
+
|
99
+
LL | { ({ x }) as _ }
100
+
| ^^^^^^^^^^^^^^^^ help: replace with `ptr::slice_from_raw_parts_mut`: `core::ptr::slice_from_raw_parts_mut(({ x }) as *mut mut u8, ..)`
0 commit comments