Skip to content

Commit 8a80369

Browse files
committed
Update tests
1 parent ab98ede commit 8a80369

3 files changed

Lines changed: 286 additions & 3 deletions

File tree

‎tests/unit/fn_ptr_arity.cpp‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ int foo(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9,
55
return 22;
66
}
77

8-
int wide(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8,
9-
int a9, int a10, int a11, int a12, int a13, int a14, int a15,
10-
int a16, int a17, int a18, int a19, int a20, int a21, int a22) {
8+
int wide(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9,
9+
int a10, int a11, int a12, int a13, int a14, int a15, int a16, int a17,
10+
int a18, int a19, int a20, int a21, int a22) {
1111
return a1 + a22;
1212
}
1313

‎tests/unit/out/refcount/fn_ptr_arity.rs‎

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,169 @@ pub fn foo_0(
2424
) -> i32 {
2525
return 22;
2626
}
27+
pub fn wide_1(
28+
mut a1: i32,
29+
mut a2: i32,
30+
mut a3: i32,
31+
mut a4: i32,
32+
mut a5: i32,
33+
mut a6: i32,
34+
mut a7: i32,
35+
mut a8: i32,
36+
mut a9: i32,
37+
mut a10: i32,
38+
mut a11: i32,
39+
mut a12: i32,
40+
mut a13: i32,
41+
mut a14: i32,
42+
mut a15: i32,
43+
mut a16: i32,
44+
mut a17: i32,
45+
mut a18: i32,
46+
mut a19: i32,
47+
mut a20: i32,
48+
mut a21: i32,
49+
mut a22: i32,
50+
) -> i32 {
51+
return (a1 + a22);
52+
}
2753
pub fn main() {
2854
__cpp2rust_init_globals();
2955
std::process::exit(main_0());
3056
}
3157
fn main_0() -> i32 {
3258
let mut f : FnPtr<fn(i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,) -> i32 > = ( FnPtr::<fn(i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,i32 ,) -> i32 >::new(foo_0) ) ;
3359
assert!((({ f.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,) }) == 22));
60+
let mut w: FnPtr<
61+
fn(
62+
i32,
63+
i32,
64+
i32,
65+
i32,
66+
i32,
67+
i32,
68+
i32,
69+
i32,
70+
i32,
71+
i32,
72+
i32,
73+
i32,
74+
i32,
75+
i32,
76+
i32,
77+
i32,
78+
i32,
79+
i32,
80+
i32,
81+
i32,
82+
i32,
83+
i32,
84+
) -> i32,
85+
> = (FnPtr::<
86+
fn(
87+
i32,
88+
i32,
89+
i32,
90+
i32,
91+
i32,
92+
i32,
93+
i32,
94+
i32,
95+
i32,
96+
i32,
97+
i32,
98+
i32,
99+
i32,
100+
i32,
101+
i32,
102+
i32,
103+
i32,
104+
i32,
105+
i32,
106+
i32,
107+
i32,
108+
i32,
109+
) -> i32,
110+
>::new(wide_1));
111+
assert!(
112+
(({
113+
w.call(
114+
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
115+
)
116+
}) == 23)
117+
);
118+
let l: Value<
119+
FnPtr<
120+
fn(
121+
i32,
122+
i32,
123+
i32,
124+
i32,
125+
i32,
126+
i32,
127+
i32,
128+
i32,
129+
i32,
130+
i32,
131+
i32,
132+
i32,
133+
i32,
134+
i32,
135+
i32,
136+
i32,
137+
i32,
138+
i32,
139+
) -> i32,
140+
>,
141+
> = Rc::new(RefCell::new(FnPtr::<
142+
fn(
143+
i32,
144+
i32,
145+
i32,
146+
i32,
147+
i32,
148+
i32,
149+
i32,
150+
i32,
151+
i32,
152+
i32,
153+
i32,
154+
i32,
155+
i32,
156+
i32,
157+
i32,
158+
i32,
159+
i32,
160+
i32,
161+
) -> i32,
162+
>::new(
163+
|a1: i32,
164+
a2: i32,
165+
a3: i32,
166+
a4: i32,
167+
a5: i32,
168+
a6: i32,
169+
a7: i32,
170+
a8: i32,
171+
a9: i32,
172+
a10: i32,
173+
a11: i32,
174+
a12: i32,
175+
a13: i32,
176+
a14: i32,
177+
a15: i32,
178+
a16: i32,
179+
a17: i32,
180+
a18: i32|
181+
-> i32 {
182+
{
183+
return (a1 * a18);
184+
}
185+
},
186+
)));
187+
assert!(
188+
(({ (*l.borrow()).call(2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,) }) == 18)
189+
);
34190
return 0;
35191
}
36192
pub fn __cpp2rust_init_globals() {}

‎tests/unit/out/unsafe/fn_ptr_arity.rs‎

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,32 @@ pub unsafe fn foo_0(
2424
) -> i32 {
2525
return 22;
2626
}
27+
pub unsafe fn wide_1(
28+
mut a1: i32,
29+
mut a2: i32,
30+
mut a3: i32,
31+
mut a4: i32,
32+
mut a5: i32,
33+
mut a6: i32,
34+
mut a7: i32,
35+
mut a8: i32,
36+
mut a9: i32,
37+
mut a10: i32,
38+
mut a11: i32,
39+
mut a12: i32,
40+
mut a13: i32,
41+
mut a14: i32,
42+
mut a15: i32,
43+
mut a16: i32,
44+
mut a17: i32,
45+
mut a18: i32,
46+
mut a19: i32,
47+
mut a20: i32,
48+
mut a21: i32,
49+
mut a22: i32,
50+
) -> i32 {
51+
return ((a1) + (a22));
52+
}
2753
pub fn main() {
2854
unsafe {
2955
__cpp2rust_init_globals();
@@ -35,6 +61,107 @@ unsafe fn main_0() -> i32 {
3561
unsafe fn(i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32) -> i32,
3662
> = (Some(foo_0));
3763
assert!(((unsafe { (f).unwrap()(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,) }) == (22)));
64+
let mut w: Option<
65+
unsafe fn(
66+
i32,
67+
i32,
68+
i32,
69+
i32,
70+
i32,
71+
i32,
72+
i32,
73+
i32,
74+
i32,
75+
i32,
76+
i32,
77+
i32,
78+
i32,
79+
i32,
80+
i32,
81+
i32,
82+
i32,
83+
i32,
84+
i32,
85+
i32,
86+
i32,
87+
i32,
88+
) -> i32,
89+
> = (Some(wide_1));
90+
assert!(
91+
((unsafe {
92+
(w).unwrap()(
93+
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
94+
)
95+
}) == (23))
96+
);
97+
let mut l: FnPtr<
98+
fn(
99+
i32,
100+
i32,
101+
i32,
102+
i32,
103+
i32,
104+
i32,
105+
i32,
106+
i32,
107+
i32,
108+
i32,
109+
i32,
110+
i32,
111+
i32,
112+
i32,
113+
i32,
114+
i32,
115+
i32,
116+
i32,
117+
) -> i32,
118+
> = FnPtr::<
119+
fn(
120+
i32,
121+
i32,
122+
i32,
123+
i32,
124+
i32,
125+
i32,
126+
i32,
127+
i32,
128+
i32,
129+
i32,
130+
i32,
131+
i32,
132+
i32,
133+
i32,
134+
i32,
135+
i32,
136+
i32,
137+
i32,
138+
) -> i32,
139+
>::new(
140+
|a1: i32,
141+
a2: i32,
142+
a3: i32,
143+
a4: i32,
144+
a5: i32,
145+
a6: i32,
146+
a7: i32,
147+
a8: i32,
148+
a9: i32,
149+
a10: i32,
150+
a11: i32,
151+
a12: i32,
152+
a13: i32,
153+
a14: i32,
154+
a15: i32,
155+
a16: i32,
156+
a17: i32,
157+
a18: i32|
158+
-> i32 {
159+
unsafe {
160+
return ((a1) * (a18));
161+
}
162+
},
163+
);
164+
assert!(((unsafe { l.call(2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,) }) == (18)));
38165
return 0;
39166
}
40167
pub unsafe fn __cpp2rust_init_globals() {}

0 commit comments

Comments
 (0)