Skip to content

Commit b17178f

Browse files
committed
Update tests
1 parent 08ea88f commit b17178f

2 files changed

Lines changed: 45 additions & 25 deletions

File tree

tests/unit/out/unsafe/static_var_in_class.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use std::collections::BTreeMap;
66
use std::io::{Read, Seek, Write};
77
use std::os::fd::{AsFd, FromRawFd, IntoRawFd};
88
use std::rc::Rc;
9-
static mut C_inner_const: i32 = 1;
9+
static mut C_inner_const: i32 = unsafe { 1 };
1010
#[repr(C)]
1111
#[derive(Copy, Clone, Default)]
1212
pub struct C {}
@@ -15,7 +15,7 @@ impl C {
1515
return C_inner_const;
1616
}
1717
}
18-
pub static mut S_inner_const: i32 = 2;
18+
pub static mut S_inner_const: i32 = unsafe { 2 };
1919
#[repr(C)]
2020
#[derive(Copy, Clone, Default)]
2121
pub struct S {}

tests/unit/out/unsafe/void_cast.rs

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,21 @@ use std::io::{Read, Seek, Write};
77
use std::os::fd::{AsFd, FromRawFd, IntoRawFd};
88
use std::rc::Rc;
99
pub unsafe fn unused_param_0(mut x: i32) {
10-
x;
10+
&(x);
11+
}
12+
#[repr(C)]
13+
#[derive(Clone, Default)]
14+
pub struct NonTrivial {
15+
pub data: Vec<i32>,
16+
}
17+
pub unsafe fn unused_ref_param_1(x: *const NonTrivial) {
18+
&(*x);
19+
}
20+
pub unsafe fn unused_ptr_param_2(mut p: *const NonTrivial) {
21+
&(*p);
1122
}
1223
pub static mut side_effect_counter: i32 = unsafe { 0 };
13-
pub unsafe fn bump_and_return_1() -> i32 {
24+
pub unsafe fn bump_and_return_3() -> i32 {
1425
side_effect_counter.prefix_inc();
1526
return side_effect_counter;
1627
}
@@ -30,59 +41,68 @@ unsafe fn main_0() -> i32 {
3041
unused_param_0(_x)
3142
});
3243
let mut y: i32 = 5;
33-
y;
44+
&(y);
3445
let mut z: i32 = {
35-
y;
46+
&(y);
3647
7
3748
};
3849
assert!(((z) == (7)));
3950
let mut counter: i32 = 0;
4051
let mut w: i32 = {
41-
counter;
52+
&(counter);
4253
counter = 3;
4354
counter
4455
};
4556
assert!(((w) == (3)));
4657
assert!(((counter) == (3)));
47-
(unsafe { bump_and_return_1() });
58+
&(unsafe { bump_and_return_3() });
4859
assert!(((side_effect_counter) == (1)));
4960
let mut v: i32 = {
50-
(unsafe { bump_and_return_1() });
61+
&(unsafe { bump_and_return_3() });
5162
99
5263
};
5364
assert!(((side_effect_counter) == (2)));
5465
assert!(((v) == (99)));
55-
0;
56-
(0);
57-
(y);
58-
(0);
59-
(y);
66+
&(0);
67+
&(0);
68+
&(y);
69+
(&(0));
70+
(&(y));
6071
let mut err: i32 = 0;
61-
(err = 42);
72+
(&(err = 42));
6273
assert!(((err) == (42)));
6374
let mut chosen: i32 = {
64-
(err = 7);
75+
&(err = 7);
6576
123
6677
};
6778
assert!(((err) == (7)));
6879
assert!(((chosen) == (123)));
69-
bump_and_return_1;
80+
&(bump_and_return_3);
7081
assert!(((side_effect_counter) == (2)));
71-
(Some(bump_and_return_1));
82+
&(Some(bump_and_return_3));
7283
assert!(((side_effect_counter) == (2)));
73-
(std::mem::transmute::<Option<unsafe fn() -> i32>, Option<unsafe fn() -> i32>>(
74-
(Some(bump_and_return_1)),
84+
&(std::mem::transmute::<Option<unsafe fn() -> i32>, Option<unsafe fn() -> i32>>(
85+
(Some(bump_and_return_3)),
7586
));
7687
assert!(((side_effect_counter) == (2)));
7788
let mut storage: i32 = 11;
7889
let mut p: *mut i32 = (&mut storage as *mut i32);
79-
(*p);
80-
(p);
90+
&(*p);
91+
&(p);
8192
let mut arr: [i32; 3] = [1, 2, 3];
82-
(arr[(1) as usize]);
93+
&(arr[(1) as usize]);
8394
let mut h: Holder = Holder { field: 17 };
84-
(h.field);
95+
&(h.field);
8596
let mut hp: *mut Holder = (&mut h as *mut Holder);
86-
((*hp).field);
97+
&((*hp).field);
98+
let mut nt: NonTrivial = <NonTrivial>::default();
99+
(unsafe {
100+
let _x: *const NonTrivial = &nt as *const NonTrivial;
101+
unused_ref_param_1(_x)
102+
});
103+
(unsafe {
104+
let _p: *const NonTrivial = (&mut nt as *mut NonTrivial).cast_const();
105+
unused_ptr_param_2(_p)
106+
});
87107
return 0;
88108
}

0 commit comments

Comments
 (0)