Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 274085c

Browse files
committed
Manual adjustments
1 parent ba23d37 commit 274085c

File tree

10 files changed

+118
-201
lines changed

10 files changed

+118
-201
lines changed

tests/fail/unaligned_pointers/dyn_alignment.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
struct MuchAlign;
77

88
fn main() {
9+
// Try many times as this might work by chance.
910
for _ in 0..10 {
10-
// Try many times as this might work by chance.
1111
let buf = [0u32; 256];
1212
// `buf` is sufficiently aligned for `layout.align` on a `dyn Debug`, but not
1313
// for the actual alignment required by `MuchAlign`.

tests/fail/unaligned_pointers/reference_to_packed.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ struct Foo {
1010
}
1111

1212
fn main() {
13+
// Try many times as this might work by chance.
1314
for _ in 0..10 {
14-
// Try many times as this might work by chance.
1515
let foo = Foo { x: 42, y: 99 };
1616
let p = &foo.x;
1717
let i = *p; //~ERROR alignment 4 is required

tests/fail/unaligned_pointers/unaligned_ptr1.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
// compile-flags: -Zmiri-disable-validation -Zmiri-disable-stacked-borrows
33

44
fn main() {
5+
// Try many times as this might work by chance.
56
for _ in 0..10 {
6-
// Try many times as this might work by chance.
77
let x = [2u16, 3, 4]; // Make it big enough so we don't get an out-of-bounds error.
88
let x = &x[0] as *const _ as *const u32;
99
// This must fail because alignment is violated: the allocation's base is not sufficiently aligned.

tests/fail/unaligned_pointers/unaligned_ptr3.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
// compile-flags: -Zmiri-disable-validation -Zmiri-disable-stacked-borrows
33

44
fn main() {
5+
// Try many times as this might work by chance.
56
for _ in 0..10 {
6-
// Try many times as this might work by chance.
77
let x = [2u16, 3, 4, 5]; // Make it big enough so we don't get an out-of-bounds error.
88
let x = &x[0] as *const _ as *const *const u8; // cast to ptr-to-ptr, so that we load a ptr
99
// This must fail because alignment is violated. Test specifically for loading pointers,

tests/fail/unaligned_pointers/unaligned_ptr4.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
fn main() {
55
// Make sure we notice when a u16 is loaded at offset 1 into a u8 allocation.
66
// (This would be missed if u8 allocations are *always* at odd addresses.)
7+
//
8+
// Try many times as this might work by chance.
79
for _ in 0..10 {
8-
// Try many times as this might work by chance.
910
let x = [0u8; 4];
1011
let ptr = x.as_ptr().wrapping_offset(1).cast::<u16>();
1112
let _val = unsafe { *ptr }; //~ERROR but alignment

tests/fail/unaligned_pointers/unaligned_ptr_addr_of.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
use std::ptr;
44

55
fn main() {
6+
// Try many times as this might work by chance.
67
for _ in 0..10 {
7-
// Try many times as this might work by chance.
88
let x = [2u16, 3, 4]; // Make it big enough so we don't get an out-of-bounds error.
99
let x = &x[0] as *const _ as *const u32;
1010
// This must fail because alignment is violated: the allocation's base is not sufficiently aligned.

tests/fail/unaligned_pointers/unaligned_ptr_zst.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
// compile-flags: -Zmir-opt-level=0 -Zmiri-disable-validation
44

55
fn main() {
6+
// Try many times as this might work by chance.
67
for i in 0..10 {
7-
// Try many times as this might work by chance.
88
let x = i as u8;
99
let x = &x as *const _ as *const [u32; 0];
1010
// This must fail because alignment is violated. Test specifically for loading ZST.

tests/pass/intrinsics-integer.rs

Lines changed: 104 additions & 188 deletions
Original file line numberDiff line numberDiff line change
@@ -13,194 +13,110 @@ use std::intrinsics::*;
1313

1414
pub fn main() {
1515
unsafe {
16-
assert_eq!(ctpop(0u8), 0);
17-
assert_eq!(ctpop(0i8), 0);
18-
assert_eq!(ctpop(0u16), 0);
19-
assert_eq!(ctpop(0i16), 0);
20-
assert_eq!(ctpop(0u32), 0);
21-
assert_eq!(ctpop(0i32), 0);
22-
assert_eq!(ctpop(0u64), 0);
23-
assert_eq!(ctpop(0i64), 0);
24-
25-
assert_eq!(ctpop(1u8), 1);
26-
assert_eq!(ctpop(1i8), 1);
27-
assert_eq!(ctpop(1u16), 1);
28-
assert_eq!(ctpop(1i16), 1);
29-
assert_eq!(ctpop(1u32), 1);
30-
assert_eq!(ctpop(1i32), 1);
31-
assert_eq!(ctpop(1u64), 1);
32-
assert_eq!(ctpop(1i64), 1);
33-
34-
assert_eq!(ctpop(10u8), 2);
35-
assert_eq!(ctpop(10i8), 2);
36-
assert_eq!(ctpop(10u16), 2);
37-
assert_eq!(ctpop(10i16), 2);
38-
assert_eq!(ctpop(10u32), 2);
39-
assert_eq!(ctpop(10i32), 2);
40-
assert_eq!(ctpop(10u64), 2);
41-
assert_eq!(ctpop(10i64), 2);
42-
43-
assert_eq!(ctpop(100u8), 3);
44-
assert_eq!(ctpop(100i8), 3);
45-
assert_eq!(ctpop(100u16), 3);
46-
assert_eq!(ctpop(100i16), 3);
47-
assert_eq!(ctpop(100u32), 3);
48-
assert_eq!(ctpop(100i32), 3);
49-
assert_eq!(ctpop(100u64), 3);
50-
assert_eq!(ctpop(100i64), 3);
51-
52-
assert_eq!(ctpop(-1i8 as u8), 8);
53-
assert_eq!(ctpop(-1i8), 8);
54-
assert_eq!(ctpop(-1i16 as u16), 16);
55-
assert_eq!(ctpop(-1i16), 16);
56-
assert_eq!(ctpop(-1i32 as u32), 32);
57-
assert_eq!(ctpop(-1i32), 32);
58-
assert_eq!(ctpop(-1i64 as u64), 64);
59-
assert_eq!(ctpop(-1i64), 64);
60-
61-
assert_eq!(ctlz(0u8), 8);
62-
assert_eq!(ctlz(0i8), 8);
63-
assert_eq!(ctlz(0u16), 16);
64-
assert_eq!(ctlz(0i16), 16);
65-
assert_eq!(ctlz(0u32), 32);
66-
assert_eq!(ctlz(0i32), 32);
67-
assert_eq!(ctlz(0u64), 64);
68-
assert_eq!(ctlz(0i64), 64);
69-
70-
assert_eq!(ctlz(1u8), 7);
71-
assert_eq!(ctlz(1i8), 7);
72-
assert_eq!(ctlz(1u16), 15);
73-
assert_eq!(ctlz(1i16), 15);
74-
assert_eq!(ctlz(1u32), 31);
75-
assert_eq!(ctlz(1i32), 31);
76-
assert_eq!(ctlz(1u64), 63);
77-
assert_eq!(ctlz(1i64), 63);
78-
79-
assert_eq!(ctlz(10u8), 4);
80-
assert_eq!(ctlz(10i8), 4);
81-
assert_eq!(ctlz(10u16), 12);
82-
assert_eq!(ctlz(10i16), 12);
83-
assert_eq!(ctlz(10u32), 28);
84-
assert_eq!(ctlz(10i32), 28);
85-
assert_eq!(ctlz(10u64), 60);
86-
assert_eq!(ctlz(10i64), 60);
87-
88-
assert_eq!(ctlz(100u8), 1);
89-
assert_eq!(ctlz(100i8), 1);
90-
assert_eq!(ctlz(100u16), 9);
91-
assert_eq!(ctlz(100i16), 9);
92-
assert_eq!(ctlz(100u32), 25);
93-
assert_eq!(ctlz(100i32), 25);
94-
assert_eq!(ctlz(100u64), 57);
95-
assert_eq!(ctlz(100i64), 57);
96-
97-
assert_eq!(ctlz_nonzero(1u8), 7);
98-
assert_eq!(ctlz_nonzero(1i8), 7);
99-
assert_eq!(ctlz_nonzero(1u16), 15);
100-
assert_eq!(ctlz_nonzero(1i16), 15);
101-
assert_eq!(ctlz_nonzero(1u32), 31);
102-
assert_eq!(ctlz_nonzero(1i32), 31);
103-
assert_eq!(ctlz_nonzero(1u64), 63);
104-
assert_eq!(ctlz_nonzero(1i64), 63);
105-
106-
assert_eq!(ctlz_nonzero(10u8), 4);
107-
assert_eq!(ctlz_nonzero(10i8), 4);
108-
assert_eq!(ctlz_nonzero(10u16), 12);
109-
assert_eq!(ctlz_nonzero(10i16), 12);
110-
assert_eq!(ctlz_nonzero(10u32), 28);
111-
assert_eq!(ctlz_nonzero(10i32), 28);
112-
assert_eq!(ctlz_nonzero(10u64), 60);
113-
assert_eq!(ctlz_nonzero(10i64), 60);
114-
115-
assert_eq!(ctlz_nonzero(100u8), 1);
116-
assert_eq!(ctlz_nonzero(100i8), 1);
117-
assert_eq!(ctlz_nonzero(100u16), 9);
118-
assert_eq!(ctlz_nonzero(100i16), 9);
119-
assert_eq!(ctlz_nonzero(100u32), 25);
120-
assert_eq!(ctlz_nonzero(100i32), 25);
121-
assert_eq!(ctlz_nonzero(100u64), 57);
122-
assert_eq!(ctlz_nonzero(100i64), 57);
123-
124-
assert_eq!(cttz(-1i8 as u8), 0);
125-
assert_eq!(cttz(-1i8), 0);
126-
assert_eq!(cttz(-1i16 as u16), 0);
127-
assert_eq!(cttz(-1i16), 0);
128-
assert_eq!(cttz(-1i32 as u32), 0);
129-
assert_eq!(cttz(-1i32), 0);
130-
assert_eq!(cttz(-1i64 as u64), 0);
131-
assert_eq!(cttz(-1i64), 0);
132-
133-
assert_eq!(cttz(0u8), 8);
134-
assert_eq!(cttz(0i8), 8);
135-
assert_eq!(cttz(0u16), 16);
136-
assert_eq!(cttz(0i16), 16);
137-
assert_eq!(cttz(0u32), 32);
138-
assert_eq!(cttz(0i32), 32);
139-
assert_eq!(cttz(0u64), 64);
140-
assert_eq!(cttz(0i64), 64);
141-
142-
assert_eq!(cttz(1u8), 0);
143-
assert_eq!(cttz(1i8), 0);
144-
assert_eq!(cttz(1u16), 0);
145-
assert_eq!(cttz(1i16), 0);
146-
assert_eq!(cttz(1u32), 0);
147-
assert_eq!(cttz(1i32), 0);
148-
assert_eq!(cttz(1u64), 0);
149-
assert_eq!(cttz(1i64), 0);
150-
151-
assert_eq!(cttz(10u8), 1);
152-
assert_eq!(cttz(10i8), 1);
153-
assert_eq!(cttz(10u16), 1);
154-
assert_eq!(cttz(10i16), 1);
155-
assert_eq!(cttz(10u32), 1);
156-
assert_eq!(cttz(10i32), 1);
157-
assert_eq!(cttz(10u64), 1);
158-
assert_eq!(cttz(10i64), 1);
159-
160-
assert_eq!(cttz(100u8), 2);
161-
assert_eq!(cttz(100i8), 2);
162-
assert_eq!(cttz(100u16), 2);
163-
assert_eq!(cttz(100i16), 2);
164-
assert_eq!(cttz(100u32), 2);
165-
assert_eq!(cttz(100i32), 2);
166-
assert_eq!(cttz(100u64), 2);
167-
assert_eq!(cttz(100i64), 2);
168-
169-
assert_eq!(cttz_nonzero(-1i8 as u8), 0);
170-
assert_eq!(cttz_nonzero(-1i8), 0);
171-
assert_eq!(cttz_nonzero(-1i16 as u16), 0);
172-
assert_eq!(cttz_nonzero(-1i16), 0);
173-
assert_eq!(cttz_nonzero(-1i32 as u32), 0);
174-
assert_eq!(cttz_nonzero(-1i32), 0);
175-
assert_eq!(cttz_nonzero(-1i64 as u64), 0);
176-
assert_eq!(cttz_nonzero(-1i64), 0);
177-
178-
assert_eq!(cttz_nonzero(1u8), 0);
179-
assert_eq!(cttz_nonzero(1i8), 0);
180-
assert_eq!(cttz_nonzero(1u16), 0);
181-
assert_eq!(cttz_nonzero(1i16), 0);
182-
assert_eq!(cttz_nonzero(1u32), 0);
183-
assert_eq!(cttz_nonzero(1i32), 0);
184-
assert_eq!(cttz_nonzero(1u64), 0);
185-
assert_eq!(cttz_nonzero(1i64), 0);
186-
187-
assert_eq!(cttz_nonzero(10u8), 1);
188-
assert_eq!(cttz_nonzero(10i8), 1);
189-
assert_eq!(cttz_nonzero(10u16), 1);
190-
assert_eq!(cttz_nonzero(10i16), 1);
191-
assert_eq!(cttz_nonzero(10u32), 1);
192-
assert_eq!(cttz_nonzero(10i32), 1);
193-
assert_eq!(cttz_nonzero(10u64), 1);
194-
assert_eq!(cttz_nonzero(10i64), 1);
195-
196-
assert_eq!(cttz_nonzero(100u8), 2);
197-
assert_eq!(cttz_nonzero(100i8), 2);
198-
assert_eq!(cttz_nonzero(100u16), 2);
199-
assert_eq!(cttz_nonzero(100i16), 2);
200-
assert_eq!(cttz_nonzero(100u32), 2);
201-
assert_eq!(cttz_nonzero(100i32), 2);
202-
assert_eq!(cttz_nonzero(100u64), 2);
203-
assert_eq!(cttz_nonzero(100i64), 2);
16+
[assert_eq!(ctpop(0u8), 0), assert_eq!(ctpop(0i8), 0)];
17+
[assert_eq!(ctpop(0u16), 0), assert_eq!(ctpop(0i16), 0)];
18+
[assert_eq!(ctpop(0u32), 0), assert_eq!(ctpop(0i32), 0)];
19+
[assert_eq!(ctpop(0u64), 0), assert_eq!(ctpop(0i64), 0)];
20+
21+
[assert_eq!(ctpop(1u8), 1), assert_eq!(ctpop(1i8), 1)];
22+
[assert_eq!(ctpop(1u16), 1), assert_eq!(ctpop(1i16), 1)];
23+
[assert_eq!(ctpop(1u32), 1), assert_eq!(ctpop(1i32), 1)];
24+
[assert_eq!(ctpop(1u64), 1), assert_eq!(ctpop(1i64), 1)];
25+
26+
[assert_eq!(ctpop(10u8), 2), assert_eq!(ctpop(10i8), 2)];
27+
[assert_eq!(ctpop(10u16), 2), assert_eq!(ctpop(10i16), 2)];
28+
[assert_eq!(ctpop(10u32), 2), assert_eq!(ctpop(10i32), 2)];
29+
[assert_eq!(ctpop(10u64), 2), assert_eq!(ctpop(10i64), 2)];
30+
31+
[assert_eq!(ctpop(100u8), 3), assert_eq!(ctpop(100i8), 3)];
32+
[assert_eq!(ctpop(100u16), 3), assert_eq!(ctpop(100i16), 3)];
33+
[assert_eq!(ctpop(100u32), 3), assert_eq!(ctpop(100i32), 3)];
34+
[assert_eq!(ctpop(100u64), 3), assert_eq!(ctpop(100i64), 3)];
35+
36+
[assert_eq!(ctpop(-1i8 as u8), 8), assert_eq!(ctpop(-1i8), 8)];
37+
[assert_eq!(ctpop(-1i16 as u16), 16), assert_eq!(ctpop(-1i16), 16)];
38+
[assert_eq!(ctpop(-1i32 as u32), 32), assert_eq!(ctpop(-1i32), 32)];
39+
[assert_eq!(ctpop(-1i64 as u64), 64), assert_eq!(ctpop(-1i64), 64)];
40+
41+
[assert_eq!(ctlz(0u8), 8), assert_eq!(ctlz(0i8), 8)];
42+
[assert_eq!(ctlz(0u16), 16), assert_eq!(ctlz(0i16), 16)];
43+
[assert_eq!(ctlz(0u32), 32), assert_eq!(ctlz(0i32), 32)];
44+
[assert_eq!(ctlz(0u64), 64), assert_eq!(ctlz(0i64), 64)];
45+
46+
[assert_eq!(ctlz(1u8), 7), assert_eq!(ctlz(1i8), 7)];
47+
[assert_eq!(ctlz(1u16), 15), assert_eq!(ctlz(1i16), 15)];
48+
[assert_eq!(ctlz(1u32), 31), assert_eq!(ctlz(1i32), 31)];
49+
[assert_eq!(ctlz(1u64), 63), assert_eq!(ctlz(1i64), 63)];
50+
51+
[assert_eq!(ctlz(10u8), 4), assert_eq!(ctlz(10i8), 4)];
52+
[assert_eq!(ctlz(10u16), 12), assert_eq!(ctlz(10i16), 12)];
53+
[assert_eq!(ctlz(10u32), 28), assert_eq!(ctlz(10i32), 28)];
54+
[assert_eq!(ctlz(10u64), 60), assert_eq!(ctlz(10i64), 60)];
55+
56+
[assert_eq!(ctlz(100u8), 1), assert_eq!(ctlz(100i8), 1)];
57+
[assert_eq!(ctlz(100u16), 9), assert_eq!(ctlz(100i16), 9)];
58+
[assert_eq!(ctlz(100u32), 25), assert_eq!(ctlz(100i32), 25)];
59+
[assert_eq!(ctlz(100u64), 57), assert_eq!(ctlz(100i64), 57)];
60+
61+
[assert_eq!(ctlz_nonzero(1u8), 7), assert_eq!(ctlz_nonzero(1i8), 7)];
62+
[assert_eq!(ctlz_nonzero(1u16), 15), assert_eq!(ctlz_nonzero(1i16), 15)];
63+
[assert_eq!(ctlz_nonzero(1u32), 31), assert_eq!(ctlz_nonzero(1i32), 31)];
64+
[assert_eq!(ctlz_nonzero(1u64), 63), assert_eq!(ctlz_nonzero(1i64), 63)];
65+
66+
[assert_eq!(ctlz_nonzero(10u8), 4), assert_eq!(ctlz_nonzero(10i8), 4)];
67+
[assert_eq!(ctlz_nonzero(10u16), 12), assert_eq!(ctlz_nonzero(10i16), 12)];
68+
[assert_eq!(ctlz_nonzero(10u32), 28), assert_eq!(ctlz_nonzero(10i32), 28)];
69+
[assert_eq!(ctlz_nonzero(10u64), 60), assert_eq!(ctlz_nonzero(10i64), 60)];
70+
71+
[assert_eq!(ctlz_nonzero(100u8), 1), assert_eq!(ctlz_nonzero(100i8), 1)];
72+
[assert_eq!(ctlz_nonzero(100u16), 9), assert_eq!(ctlz_nonzero(100i16), 9)];
73+
[assert_eq!(ctlz_nonzero(100u32), 25), assert_eq!(ctlz_nonzero(100i32), 25)];
74+
[assert_eq!(ctlz_nonzero(100u64), 57), assert_eq!(ctlz_nonzero(100i64), 57)];
75+
76+
[assert_eq!(cttz(-1i8 as u8), 0), assert_eq!(cttz(-1i8), 0)];
77+
[assert_eq!(cttz(-1i16 as u16), 0), assert_eq!(cttz(-1i16), 0)];
78+
[assert_eq!(cttz(-1i32 as u32), 0), assert_eq!(cttz(-1i32), 0)];
79+
[assert_eq!(cttz(-1i64 as u64), 0), assert_eq!(cttz(-1i64), 0)];
80+
81+
[assert_eq!(cttz(0u8), 8), assert_eq!(cttz(0i8), 8)];
82+
[assert_eq!(cttz(0u16), 16), assert_eq!(cttz(0i16), 16)];
83+
[assert_eq!(cttz(0u32), 32), assert_eq!(cttz(0i32), 32)];
84+
[assert_eq!(cttz(0u64), 64), assert_eq!(cttz(0i64), 64)];
85+
86+
[assert_eq!(cttz(1u8), 0), assert_eq!(cttz(1i8), 0)];
87+
[assert_eq!(cttz(1u16), 0), assert_eq!(cttz(1i16), 0)];
88+
[assert_eq!(cttz(1u32), 0), assert_eq!(cttz(1i32), 0)];
89+
[assert_eq!(cttz(1u64), 0), assert_eq!(cttz(1i64), 0)];
90+
91+
[assert_eq!(cttz(10u8), 1), assert_eq!(cttz(10i8), 1)];
92+
[assert_eq!(cttz(10u16), 1), assert_eq!(cttz(10i16), 1)];
93+
[assert_eq!(cttz(10u32), 1), assert_eq!(cttz(10i32), 1)];
94+
[assert_eq!(cttz(10u64), 1), assert_eq!(cttz(10i64), 1)];
95+
96+
[assert_eq!(cttz(100u8), 2), assert_eq!(cttz(100i8), 2)];
97+
[assert_eq!(cttz(100u16), 2), assert_eq!(cttz(100i16), 2)];
98+
[assert_eq!(cttz(100u32), 2), assert_eq!(cttz(100i32), 2)];
99+
[assert_eq!(cttz(100u64), 2), assert_eq!(cttz(100i64), 2)];
100+
101+
[assert_eq!(cttz_nonzero(-1i8 as u8), 0), assert_eq!(cttz_nonzero(-1i8), 0)];
102+
[assert_eq!(cttz_nonzero(-1i16 as u16), 0), assert_eq!(cttz_nonzero(-1i16), 0)];
103+
[assert_eq!(cttz_nonzero(-1i32 as u32), 0), assert_eq!(cttz_nonzero(-1i32), 0)];
104+
[assert_eq!(cttz_nonzero(-1i64 as u64), 0), assert_eq!(cttz_nonzero(-1i64), 0)];
105+
106+
[assert_eq!(cttz_nonzero(1u8), 0), assert_eq!(cttz_nonzero(1i8), 0)];
107+
[assert_eq!(cttz_nonzero(1u16), 0), assert_eq!(cttz_nonzero(1i16), 0)];
108+
[assert_eq!(cttz_nonzero(1u32), 0), assert_eq!(cttz_nonzero(1i32), 0)];
109+
[assert_eq!(cttz_nonzero(1u64), 0), assert_eq!(cttz_nonzero(1i64), 0)];
110+
111+
[assert_eq!(cttz_nonzero(10u8), 1), assert_eq!(cttz_nonzero(10i8), 1)];
112+
[assert_eq!(cttz_nonzero(10u16), 1), assert_eq!(cttz_nonzero(10i16), 1)];
113+
[assert_eq!(cttz_nonzero(10u32), 1), assert_eq!(cttz_nonzero(10i32), 1)];
114+
[assert_eq!(cttz_nonzero(10u64), 1), assert_eq!(cttz_nonzero(10i64), 1)];
115+
116+
[assert_eq!(cttz_nonzero(100u8), 2), assert_eq!(cttz_nonzero(100i8), 2)];
117+
[assert_eq!(cttz_nonzero(100u16), 2), assert_eq!(cttz_nonzero(100i16), 2)];
118+
[assert_eq!(cttz_nonzero(100u32), 2), assert_eq!(cttz_nonzero(100i32), 2)];
119+
[assert_eq!(cttz_nonzero(100u64), 2), assert_eq!(cttz_nonzero(100i64), 2)];
204120

205121
assert_eq!(bswap(0x0Au8), 0x0A); // no-op
206122
assert_eq!(bswap(0x0Ai8), 0x0A); // no-op

tests/pass/ptr_int_casts.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ fn ptr_int_casts() {
2020
*val = (1 as *const u8).wrapping_offset(-4);
2121
assert_eq!(*val as usize, usize::MAX - 2);
2222

23+
// ptr-int-ptr
2324
{
24-
// ptr-int-ptr
2525
let x = 13;
2626
let mut y = &x as &_ as *const _ as usize;
2727
y += 13;
@@ -30,8 +30,8 @@ fn ptr_int_casts() {
3030
assert!(eq_ref(&x, unsafe { &*y }));
3131
}
3232

33+
// fnptr-int-fnptr
3334
{
34-
// fnptr-int-fnptr
3535
let x: fn() -> i32 = f;
3636
let y: *mut u8 = unsafe { mem::transmute(x as fn() -> i32) };
3737
let mut y = y as usize;

0 commit comments

Comments
 (0)