@@ -25,6 +25,7 @@ extern "C" {
25
25
fn many_arity_call6 ( a : & Closure < Fn ( u32 , u32 , u32 , u32 , u32 ) > ) ;
26
26
fn many_arity_call7 ( a : & Closure < Fn ( u32 , u32 , u32 , u32 , u32 , u32 ) > ) ;
27
27
fn many_arity_call8 ( a : & Closure < Fn ( u32 , u32 , u32 , u32 , u32 , u32 , u32 ) > ) ;
28
+ fn many_arity_call9 ( a : & Closure < Fn ( u32 , u32 , u32 , u32 , u32 , u32 , u32 , u32 ) > ) ;
28
29
29
30
#[ wasm_bindgen( js_name = many_arity_call1) ]
30
31
fn many_arity_call_mut1 ( a : & Closure < FnMut ( ) > ) ;
@@ -42,6 +43,8 @@ extern "C" {
42
43
fn many_arity_call_mut7 ( a : & Closure < FnMut ( u32 , u32 , u32 , u32 , u32 , u32 ) > ) ;
43
44
#[ wasm_bindgen( js_name = many_arity_call8) ]
44
45
fn many_arity_call_mut8 ( a : & Closure < FnMut ( u32 , u32 , u32 , u32 , u32 , u32 , u32 ) > ) ;
46
+ #[ wasm_bindgen( js_name = many_arity_call9) ]
47
+ fn many_arity_call_mut9 ( a : & Closure < FnMut ( u32 , u32 , u32 , u32 , u32 , u32 , u32 , u32 ) > ) ;
45
48
46
49
#[ wasm_bindgen( js_name = many_arity_call1) ]
47
50
fn many_arity_stack1 ( a : & Fn ( ) ) ;
@@ -59,6 +62,8 @@ extern "C" {
59
62
fn many_arity_stack7 ( a : & Fn ( u32 , u32 , u32 , u32 , u32 , u32 ) ) ;
60
63
#[ wasm_bindgen( js_name = many_arity_call8) ]
61
64
fn many_arity_stack8 ( a : & Fn ( u32 , u32 , u32 , u32 , u32 , u32 , u32 ) ) ;
65
+ #[ wasm_bindgen( js_name = many_arity_call9) ]
66
+ fn many_arity_stack9 ( a : & Fn ( u32 , u32 , u32 , u32 , u32 , u32 , u32 , u32 ) ) ;
62
67
63
68
fn long_lived_dropping_cache ( a : & Closure < Fn ( ) > ) ;
64
69
#[ wasm_bindgen( catch) ]
@@ -164,6 +169,9 @@ fn many_arity() {
164
169
many_arity_call8 ( & Closure :: new ( |a, b, c, d, e, f, g| {
165
170
assert_eq ! ( ( a, b, c, d, e, f, g) , ( 1 , 2 , 3 , 4 , 5 , 6 , 7 ) )
166
171
} ) ) ;
172
+ many_arity_call9 ( & Closure :: new ( |a, b, c, d, e, f, g, h| {
173
+ assert_eq ! ( ( a, b, c, d, e, f, g, h) , ( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ) )
174
+ } ) ) ;
167
175
168
176
let s = String :: new ( ) ;
169
177
many_arity_call_mut1 ( & Closure :: once ( move || drop ( s) ) ) ;
@@ -202,6 +210,11 @@ fn many_arity() {
202
210
drop ( s) ;
203
211
assert_eq ! ( ( a, b, c, d, e, f, g) , ( 1 , 2 , 3 , 4 , 5 , 6 , 7 ) ) ;
204
212
} ) ) ;
213
+ let s = String :: new ( ) ;
214
+ many_arity_call_mut9 ( & Closure :: once ( move |a, b, c, d, e, f, g, h| {
215
+ drop ( s) ;
216
+ assert_eq ! ( ( a, b, c, d, e, f, g, h) , ( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ) ) ;
217
+ } ) ) ;
205
218
206
219
many_arity_stack1 ( & ( || { } ) ) ;
207
220
many_arity_stack2 ( & ( |a| assert_eq ! ( a, 1 ) ) ) ;
@@ -213,6 +226,9 @@ fn many_arity() {
213
226
many_arity_stack8 (
214
227
& ( |a, b, c, d, e, f, g| assert_eq ! ( ( a, b, c, d, e, f, g) , ( 1 , 2 , 3 , 4 , 5 , 6 , 7 ) ) ) ,
215
228
) ;
229
+ many_arity_stack9 (
230
+ & ( |a, b, c, d, e, f, g, h| assert_eq ! ( ( a, b, c, d, e, f, g, h) , ( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ) ) ) ,
231
+ ) ;
216
232
}
217
233
218
234
struct Dropper ( Rc < Cell < bool > > ) ;
0 commit comments