@@ -7,22 +7,30 @@ exports.js_export = () => {
7
7
i8 [ 1 ] = 2 ;
8
8
assert . deepStrictEqual ( wasm . export_i8 ( i8 ) , i8 ) ;
9
9
assert . deepStrictEqual ( wasm . export_optional_i8 ( i8 ) , i8 ) ;
10
+ assert . deepStrictEqual ( wasm . export_uninit_i8 ( i8 ) , i8 ) ;
11
+ assert . deepStrictEqual ( wasm . export_optional_uninit_i8 ( i8 ) , i8 ) ;
10
12
const u8 = new Uint8Array ( 2 ) ;
11
13
u8 [ 0 ] = 1 ;
12
14
u8 [ 1 ] = 2 ;
13
15
assert . deepStrictEqual ( wasm . export_u8 ( u8 ) , u8 ) ;
14
16
assert . deepStrictEqual ( wasm . export_optional_u8 ( u8 ) , u8 ) ;
17
+ assert . deepStrictEqual ( wasm . export_uninit_u8 ( u8 ) , u8 ) ;
18
+ assert . deepStrictEqual ( wasm . export_optional_uninit_u8 ( u8 ) , u8 ) ;
15
19
16
20
const i16 = new Int16Array ( 2 ) ;
17
21
i16 [ 0 ] = 1 ;
18
22
i16 [ 1 ] = 2 ;
19
23
assert . deepStrictEqual ( wasm . export_i16 ( i16 ) , i16 ) ;
20
24
assert . deepStrictEqual ( wasm . export_optional_i16 ( i16 ) , i16 ) ;
25
+ assert . deepStrictEqual ( wasm . export_uninit_i16 ( i16 ) , i16 ) ;
26
+ assert . deepStrictEqual ( wasm . export_optional_uninit_i16 ( i16 ) , i16 ) ;
21
27
const u16 = new Uint16Array ( 2 ) ;
22
28
u16 [ 0 ] = 1 ;
23
29
u16 [ 1 ] = 2 ;
24
30
assert . deepStrictEqual ( wasm . export_u16 ( u16 ) , u16 ) ;
25
31
assert . deepStrictEqual ( wasm . export_optional_u16 ( u16 ) , u16 ) ;
32
+ assert . deepStrictEqual ( wasm . export_uninit_u16 ( u16 ) , u16 ) ;
33
+ assert . deepStrictEqual ( wasm . export_optional_uninit_u16 ( u16 ) , u16 ) ;
26
34
27
35
const i32 = new Int32Array ( 2 ) ;
28
36
i32 [ 0 ] = 1 ;
@@ -31,24 +39,36 @@ exports.js_export = () => {
31
39
assert . deepStrictEqual ( wasm . export_optional_i32 ( i32 ) , i32 ) ;
32
40
assert . deepStrictEqual ( wasm . export_isize ( i32 ) , i32 ) ;
33
41
assert . deepStrictEqual ( wasm . export_optional_isize ( i32 ) , i32 ) ;
42
+ assert . deepStrictEqual ( wasm . export_uninit_i32 ( i32 ) , i32 ) ;
43
+ assert . deepStrictEqual ( wasm . export_optional_uninit_i32 ( i32 ) , i32 ) ;
44
+ assert . deepStrictEqual ( wasm . export_uninit_isize ( i32 ) , i32 ) ;
45
+ assert . deepStrictEqual ( wasm . export_optional_uninit_isize ( i32 ) , i32 ) ;
34
46
const u32 = new Uint32Array ( 2 ) ;
35
47
u32 [ 0 ] = 1 ;
36
48
u32 [ 1 ] = 2 ;
37
49
assert . deepStrictEqual ( wasm . export_u32 ( u32 ) , u32 ) ;
38
50
assert . deepStrictEqual ( wasm . export_optional_u32 ( u32 ) , u32 ) ;
39
51
assert . deepStrictEqual ( wasm . export_usize ( u32 ) , u32 ) ;
40
52
assert . deepStrictEqual ( wasm . export_optional_usize ( u32 ) , u32 ) ;
53
+ assert . deepStrictEqual ( wasm . export_uninit_u32 ( u32 ) , u32 ) ;
54
+ assert . deepStrictEqual ( wasm . export_optional_uninit_u32 ( u32 ) , u32 ) ;
55
+ assert . deepStrictEqual ( wasm . export_uninit_usize ( u32 ) , u32 ) ;
56
+ assert . deepStrictEqual ( wasm . export_optional_uninit_usize ( u32 ) , u32 ) ;
41
57
42
58
const f32 = new Float32Array ( 2 ) ;
43
59
f32 [ 0 ] = 1 ;
44
60
f32 [ 1 ] = 2 ;
45
61
assert . deepStrictEqual ( wasm . export_f32 ( f32 ) , f32 ) ;
46
62
assert . deepStrictEqual ( wasm . export_optional_f32 ( f32 ) , f32 ) ;
63
+ assert . deepStrictEqual ( wasm . export_uninit_f32 ( f32 ) , f32 ) ;
64
+ assert . deepStrictEqual ( wasm . export_optional_uninit_f32 ( f32 ) , f32 ) ;
47
65
const f64 = new Float64Array ( 2 ) ;
48
66
f64 [ 0 ] = 1 ;
49
67
f64 [ 1 ] = 2 ;
50
68
assert . deepStrictEqual ( wasm . export_f64 ( f64 ) , f64 ) ;
51
69
assert . deepStrictEqual ( wasm . export_optional_f64 ( f64 ) , f64 ) ;
70
+ assert . deepStrictEqual ( wasm . export_uninit_f64 ( f64 ) , f64 ) ;
71
+ assert . deepStrictEqual ( wasm . export_optional_uninit_f64 ( f64 ) , f64 ) ;
52
72
53
73
assert . strictEqual ( wasm . export_optional_i8 ( undefined ) , undefined ) ;
54
74
assert . strictEqual ( wasm . export_optional_u8 ( undefined ) , undefined ) ;
@@ -60,6 +80,17 @@ exports.js_export = () => {
60
80
assert . strictEqual ( wasm . export_optional_usize ( undefined ) , undefined ) ;
61
81
assert . strictEqual ( wasm . export_optional_f32 ( undefined ) , undefined ) ;
62
82
assert . strictEqual ( wasm . export_optional_f64 ( undefined ) , undefined ) ;
83
+
84
+ assert . strictEqual ( wasm . export_optional_uninit_i8 ( undefined ) , undefined ) ;
85
+ assert . strictEqual ( wasm . export_optional_uninit_u8 ( undefined ) , undefined ) ;
86
+ assert . strictEqual ( wasm . export_optional_uninit_i16 ( undefined ) , undefined ) ;
87
+ assert . strictEqual ( wasm . export_optional_uninit_u16 ( undefined ) , undefined ) ;
88
+ assert . strictEqual ( wasm . export_optional_uninit_i32 ( undefined ) , undefined ) ;
89
+ assert . strictEqual ( wasm . export_optional_uninit_isize ( undefined ) , undefined ) ;
90
+ assert . strictEqual ( wasm . export_optional_uninit_u32 ( undefined ) , undefined ) ;
91
+ assert . strictEqual ( wasm . export_optional_uninit_usize ( undefined ) , undefined ) ;
92
+ assert . strictEqual ( wasm . export_optional_uninit_f32 ( undefined ) , undefined ) ;
93
+ assert . strictEqual ( wasm . export_optional_uninit_f64 ( undefined ) , undefined ) ;
63
94
} ;
64
95
65
96
const test_import = ( a , b , c ) => {
@@ -84,44 +115,65 @@ exports.import_js_usize = test_import;
84
115
exports . import_js_f32 = test_import ;
85
116
exports . import_js_f64 = test_import ;
86
117
118
+ exports . import_js_uninit_i8 = test_import ;
119
+ exports . import_js_uninit_u8 = test_import ;
120
+ exports . import_js_uninit_i16 = test_import ;
121
+ exports . import_js_uninit_u16 = test_import ;
122
+ exports . import_js_uninit_i32 = test_import ;
123
+ exports . import_js_uninit_isize = test_import ;
124
+ exports . import_js_uninit_u32 = test_import ;
125
+ exports . import_js_uninit_usize = test_import ;
126
+ exports . import_js_uninit_f32 = test_import ;
127
+ exports . import_js_uninit_f64 = test_import ;
128
+
87
129
exports . js_import = ( ) => {
88
130
const i8 = new Int8Array ( 2 ) ;
89
131
i8 [ 0 ] = 1 ;
90
132
i8 [ 1 ] = 2 ;
91
133
assert . deepStrictEqual ( wasm . import_rust_i8 ( i8 ) , i8 ) ;
134
+ assert . deepStrictEqual ( wasm . import_rust_uninit_i8 ( i8 ) , i8 ) ;
92
135
const u8 = new Uint8Array ( 2 ) ;
93
136
u8 [ 0 ] = 1 ;
94
137
u8 [ 1 ] = 2 ;
95
138
assert . deepStrictEqual ( wasm . import_rust_u8 ( u8 ) , u8 ) ;
139
+ assert . deepStrictEqual ( wasm . import_rust_uninit_u8 ( u8 ) , u8 ) ;
96
140
97
141
const i16 = new Int16Array ( 2 ) ;
98
142
i16 [ 0 ] = 1 ;
99
143
i16 [ 1 ] = 2 ;
100
144
assert . deepStrictEqual ( wasm . import_rust_i16 ( i16 ) , i16 ) ;
145
+ assert . deepStrictEqual ( wasm . import_rust_uninit_i16 ( i16 ) , i16 ) ;
101
146
const u16 = new Uint16Array ( 2 ) ;
102
147
u16 [ 0 ] = 1 ;
103
148
u16 [ 1 ] = 2 ;
104
149
assert . deepStrictEqual ( wasm . import_rust_u16 ( u16 ) , u16 ) ;
150
+ assert . deepStrictEqual ( wasm . import_rust_uninit_u16 ( u16 ) , u16 ) ;
105
151
106
152
const i32 = new Int32Array ( 2 ) ;
107
153
i32 [ 0 ] = 1 ;
108
154
i32 [ 1 ] = 2 ;
109
155
assert . deepStrictEqual ( wasm . import_rust_i32 ( i32 ) , i32 ) ;
110
156
assert . deepStrictEqual ( wasm . import_rust_isize ( i32 ) , i32 ) ;
157
+ assert . deepStrictEqual ( wasm . import_rust_uninit_i32 ( i32 ) , i32 ) ;
158
+ assert . deepStrictEqual ( wasm . import_rust_uninit_isize ( i32 ) , i32 ) ;
111
159
const u32 = new Uint32Array ( 2 ) ;
112
160
u32 [ 0 ] = 1 ;
113
161
u32 [ 1 ] = 2 ;
114
162
assert . deepStrictEqual ( wasm . import_rust_u32 ( u32 ) , u32 ) ;
115
163
assert . deepStrictEqual ( wasm . import_rust_usize ( u32 ) , u32 ) ;
164
+ assert . deepStrictEqual ( wasm . import_rust_uninit_u32 ( u32 ) , u32 ) ;
165
+ assert . deepStrictEqual ( wasm . import_rust_uninit_usize ( u32 ) , u32 ) ;
116
166
117
167
const f32 = new Float32Array ( 2 ) ;
118
168
f32 [ 0 ] = 1 ;
119
169
f32 [ 1 ] = 2 ;
120
170
assert . deepStrictEqual ( wasm . import_rust_f32 ( f32 ) , f32 ) ;
171
+ assert . deepStrictEqual ( wasm . import_rust_uninit_f32 ( f32 ) , f32 ) ;
121
172
const f64 = new Float64Array ( 2 ) ;
122
173
f64 [ 0 ] = 1 ;
123
174
f64 [ 1 ] = 2 ;
124
175
assert . deepStrictEqual ( wasm . import_rust_f64 ( f64 ) , f64 ) ;
176
+ assert . deepStrictEqual ( wasm . import_rust_uninit_f64 ( f64 ) , f64 ) ;
125
177
} ;
126
178
127
179
exports . js_pass_array = ( ) => {
@@ -135,6 +187,17 @@ exports.js_pass_array = () => {
135
187
wasm . pass_array_rust_usize ( [ 1 , 2 ] ) ;
136
188
wasm . pass_array_rust_f32 ( [ 1 , 2 ] ) ;
137
189
wasm . pass_array_rust_f64 ( [ 1 , 2 ] ) ;
190
+
191
+ wasm . pass_array_rust_uninit_i8 ( [ 1 , 2 ] ) ;
192
+ wasm . pass_array_rust_uninit_u8 ( [ 1 , 2 ] ) ;
193
+ wasm . pass_array_rust_uninit_i16 ( [ 1 , 2 ] ) ;
194
+ wasm . pass_array_rust_uninit_u16 ( [ 1 , 2 ] ) ;
195
+ wasm . pass_array_rust_uninit_i32 ( [ 1 , 2 ] ) ;
196
+ wasm . pass_array_rust_uninit_u32 ( [ 1 , 2 ] ) ;
197
+ wasm . pass_array_rust_uninit_isize ( [ 1 , 2 ] ) ;
198
+ wasm . pass_array_rust_uninit_usize ( [ 1 , 2 ] ) ;
199
+ wasm . pass_array_rust_uninit_f32 ( [ 1 , 2 ] ) ;
200
+ wasm . pass_array_rust_uninit_f64 ( [ 1 , 2 ] ) ;
138
201
} ;
139
202
140
203
const import_mut_foo = ( a , b , c ) => {
@@ -163,6 +226,17 @@ exports.import_mut_js_usize = import_mut_foo;
163
226
exports . import_mut_js_f32 = import_mut_foo ;
164
227
exports . import_mut_js_f64 = import_mut_foo ;
165
228
229
+ exports . import_mut_js_uninit_i8 = import_mut_foo ;
230
+ exports . import_mut_js_uninit_u8 = import_mut_foo ;
231
+ exports . import_mut_js_uninit_i16 = import_mut_foo ;
232
+ exports . import_mut_js_uninit_u16 = import_mut_foo ;
233
+ exports . import_mut_js_uninit_i32 = import_mut_foo ;
234
+ exports . import_mut_js_uninit_u32 = import_mut_foo ;
235
+ exports . import_mut_js_uninit_isize = import_mut_foo ;
236
+ exports . import_mut_js_uninit_usize = import_mut_foo ;
237
+ exports . import_mut_js_uninit_f32 = import_mut_foo ;
238
+ exports . import_mut_js_uninit_f64 = import_mut_foo ;
239
+
166
240
const export_mut_run = ( a , rust ) => {
167
241
assert . strictEqual ( a . length , 3 ) ;
168
242
a [ 0 ] = 1 ;
@@ -188,6 +262,17 @@ exports.js_export_mut = () => {
188
262
export_mut_run ( new Uint32Array ( 3 ) , wasm . export_mut_usize ) ;
189
263
export_mut_run ( new Float32Array ( 3 ) , wasm . export_mut_f32 ) ;
190
264
export_mut_run ( new Float64Array ( 3 ) , wasm . export_mut_f64 ) ;
265
+
266
+ export_mut_run ( new Int8Array ( 3 ) , wasm . export_mut_uninit_i8 ) ;
267
+ export_mut_run ( new Uint8Array ( 3 ) , wasm . export_mut_uninit_u8 ) ;
268
+ export_mut_run ( new Int16Array ( 3 ) , wasm . export_mut_uninit_i16 ) ;
269
+ export_mut_run ( new Uint16Array ( 3 ) , wasm . export_mut_uninit_u16 ) ;
270
+ export_mut_run ( new Int32Array ( 3 ) , wasm . export_mut_uninit_i32 ) ;
271
+ export_mut_run ( new Uint32Array ( 3 ) , wasm . export_mut_uninit_u32 ) ;
272
+ export_mut_run ( new Int32Array ( 3 ) , wasm . export_mut_uninit_isize ) ;
273
+ export_mut_run ( new Uint32Array ( 3 ) , wasm . export_mut_uninit_usize ) ;
274
+ export_mut_run ( new Float32Array ( 3 ) , wasm . export_mut_uninit_f32 ) ;
275
+ export_mut_run ( new Float64Array ( 3 ) , wasm . export_mut_uninit_f64 ) ;
191
276
} ;
192
277
193
278
exports . js_return_vec = ( ) => {
0 commit comments