Skip to content

Commit 1570b98

Browse files
committed
Add a workaround for the newest nightly regression
Reference: rust-lang/rust#52603
1 parent 1084c60 commit 1570b98

File tree

3 files changed

+48
-44
lines changed

3 files changed

+48
-44
lines changed

src/webcore/ffi/wasm.rs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,26 @@ pub mod exports {
1313
// Autogenerated with the following Ruby script:
1414
// params = []
1515
// 1.upto( 17 ) do |nth|
16-
// params << "a#{nth}: i32"
16+
// params << "a#{nth}: *const u8"
1717
// puts "pub fn __js_#{nth}( #{params.join ', '}, code: *const u8 ) -> i32;"
1818
// end
19-
pub fn __js_1( a1: i32, code: *const u8 ) -> i32;
20-
pub fn __js_2( a1: i32, a2: i32, code: *const u8 ) -> i32;
21-
pub fn __js_3( a1: i32, a2: i32, a3: i32, code: *const u8 ) -> i32;
22-
pub fn __js_4( a1: i32, a2: i32, a3: i32, a4: i32, code: *const u8 ) -> i32;
23-
pub fn __js_5( a1: i32, a2: i32, a3: i32, a4: i32, a5: i32, code: *const u8 ) -> i32;
24-
pub fn __js_6( a1: i32, a2: i32, a3: i32, a4: i32, a5: i32, a6: i32, code: *const u8 ) -> i32;
25-
pub fn __js_7( a1: i32, a2: i32, a3: i32, a4: i32, a5: i32, a6: i32, a7: i32, code: *const u8 ) -> i32;
26-
pub fn __js_8( a1: i32, a2: i32, a3: i32, a4: i32, a5: i32, a6: i32, a7: i32, a8: i32, code: *const u8 ) -> i32;
27-
pub fn __js_9( a1: i32, a2: i32, a3: i32, a4: i32, a5: i32, a6: i32, a7: i32, a8: i32, a9: i32, code: *const u8 ) -> i32;
28-
pub fn __js_10( a1: i32, a2: i32, a3: i32, a4: i32, a5: i32, a6: i32, a7: i32, a8: i32, a9: i32, a10: i32, code: *const u8 ) -> i32;
29-
pub fn __js_11( a1: i32, a2: i32, a3: i32, a4: i32, a5: i32, a6: i32, a7: i32, a8: i32, a9: i32, a10: i32, a11: i32, code: *const u8 ) -> i32;
30-
pub fn __js_12( a1: i32, a2: i32, a3: i32, a4: i32, a5: i32, a6: i32, a7: i32, a8: i32, a9: i32, a10: i32, a11: i32, a12: i32, code: *const u8 ) -> i32;
31-
pub fn __js_13( a1: i32, a2: i32, a3: i32, a4: i32, a5: i32, a6: i32, a7: i32, a8: i32, a9: i32, a10: i32, a11: i32, a12: i32, a13: i32, code: *const u8 ) -> i32;
32-
pub fn __js_14( a1: i32, a2: i32, a3: i32, a4: i32, a5: i32, a6: i32, a7: i32, a8: i32, a9: i32, a10: i32, a11: i32, a12: i32, a13: i32, a14: i32, code: *const u8 ) -> i32;
33-
pub fn __js_15( a1: i32, a2: i32, a3: i32, a4: i32, a5: i32, a6: i32, a7: i32, a8: i32, a9: i32, a10: i32, a11: i32, a12: i32, a13: i32, a14: i32, a15: i32, code: *const u8 ) -> i32;
34-
pub fn __js_16( a1: i32, a2: i32, a3: i32, a4: i32, a5: i32, a6: i32, a7: i32, a8: i32, a9: i32, a10: i32, a11: i32, a12: i32, a13: i32, a14: i32, a15: i32, a16: i32, code: *const u8 ) -> i32;
35-
pub fn __js_17( a1: i32, a2: i32, a3: i32, a4: i32, a5: i32, a6: i32, a7: i32, a8: i32, a9: i32, a10: i32, a11: i32, a12: i32, a13: i32, a14: i32, a15: i32, a16: i32, a17: i32, code: *const u8 ) -> i32;
19+
pub fn __js_1( a1: *const u8, code: *const u8 ) -> i32;
20+
pub fn __js_2( a1: *const u8, a2: *const u8, code: *const u8 ) -> i32;
21+
pub fn __js_3( a1: *const u8, a2: *const u8, a3: *const u8, code: *const u8 ) -> i32;
22+
pub fn __js_4( a1: *const u8, a2: *const u8, a3: *const u8, a4: *const u8, code: *const u8 ) -> i32;
23+
pub fn __js_5( a1: *const u8, a2: *const u8, a3: *const u8, a4: *const u8, a5: *const u8, code: *const u8 ) -> i32;
24+
pub fn __js_6( a1: *const u8, a2: *const u8, a3: *const u8, a4: *const u8, a5: *const u8, a6: *const u8, code: *const u8 ) -> i32;
25+
pub fn __js_7( a1: *const u8, a2: *const u8, a3: *const u8, a4: *const u8, a5: *const u8, a6: *const u8, a7: *const u8, code: *const u8 ) -> i32;
26+
pub fn __js_8( a1: *const u8, a2: *const u8, a3: *const u8, a4: *const u8, a5: *const u8, a6: *const u8, a7: *const u8, a8: *const u8, code: *const u8 ) -> i32;
27+
pub fn __js_9( a1: *const u8, a2: *const u8, a3: *const u8, a4: *const u8, a5: *const u8, a6: *const u8, a7: *const u8, a8: *const u8, a9: *const u8, code: *const u8 ) -> i32;
28+
pub fn __js_10( a1: *const u8, a2: *const u8, a3: *const u8, a4: *const u8, a5: *const u8, a6: *const u8, a7: *const u8, a8: *const u8, a9: *const u8, a10: *const u8, code: *const u8 ) -> i32;
29+
pub fn __js_11( a1: *const u8, a2: *const u8, a3: *const u8, a4: *const u8, a5: *const u8, a6: *const u8, a7: *const u8, a8: *const u8, a9: *const u8, a10: *const u8, a11: *const u8, code: *const u8 ) -> i32;
30+
pub fn __js_12( a1: *const u8, a2: *const u8, a3: *const u8, a4: *const u8, a5: *const u8, a6: *const u8, a7: *const u8, a8: *const u8, a9: *const u8, a10: *const u8, a11: *const u8, a12: *const u8, code: *const u8 ) -> i32;
31+
pub fn __js_13( a1: *const u8, a2: *const u8, a3: *const u8, a4: *const u8, a5: *const u8, a6: *const u8, a7: *const u8, a8: *const u8, a9: *const u8, a10: *const u8, a11: *const u8, a12: *const u8, a13: *const u8, code: *const u8 ) -> i32;
32+
pub fn __js_14( a1: *const u8, a2: *const u8, a3: *const u8, a4: *const u8, a5: *const u8, a6: *const u8, a7: *const u8, a8: *const u8, a9: *const u8, a10: *const u8, a11: *const u8, a12: *const u8, a13: *const u8, a14: *const u8, code: *const u8 ) -> i32;
33+
pub fn __js_15( a1: *const u8, a2: *const u8, a3: *const u8, a4: *const u8, a5: *const u8, a6: *const u8, a7: *const u8, a8: *const u8, a9: *const u8, a10: *const u8, a11: *const u8, a12: *const u8, a13: *const u8, a14: *const u8, a15: *const u8, code: *const u8 ) -> i32;
34+
pub fn __js_16( a1: *const u8, a2: *const u8, a3: *const u8, a4: *const u8, a5: *const u8, a6: *const u8, a7: *const u8, a8: *const u8, a9: *const u8, a10: *const u8, a11: *const u8, a12: *const u8, a13: *const u8, a14: *const u8, a15: *const u8, a16: *const u8, code: *const u8 ) -> i32;
35+
pub fn __js_17( a1: *const u8, a2: *const u8, a3: *const u8, a4: *const u8, a5: *const u8, a6: *const u8, a7: *const u8, a8: *const u8, a9: *const u8, a10: *const u8, a11: *const u8, a12: *const u8, a13: *const u8, a14: *const u8, a15: *const u8, a16: *const u8, a17: *const u8, code: *const u8 ) -> i32;
3636
}
3737

3838
#[doc(hidden)]

src/webcore/macros.rs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ macro_rules! __js_raw_asm {
5959
// args, params = [], []
6060
// 1.upto( 17 ) do |nth|
6161
// args << "$a#{nth}:expr"
62-
// params << "$a#{nth} as i32"
62+
// params << "$a#{nth} as *const u8"
6363
// puts "($code:expr, #{args.join ', '}) => {{"
6464
// puts " #[allow(unused_unsafe)]"
6565
// puts " unsafe {"
@@ -72,119 +72,119 @@ macro_rules! __js_raw_asm {
7272
#[allow(unused_unsafe)]
7373
unsafe {
7474
#[allow(trivial_numeric_casts)]
75-
$crate::private::__js_1( $a1 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
75+
$crate::private::__js_1( $a1 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
7676
}
7777
}};
7878
($code:expr, $a1:expr, $a2:expr) => {{
7979
#[allow(unused_unsafe)]
8080
unsafe {
8181
#[allow(trivial_numeric_casts)]
82-
$crate::private::__js_2( $a1 as i32, $a2 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
82+
$crate::private::__js_2( $a1 as *const u8, $a2 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
8383
}
8484
}};
8585
($code:expr, $a1:expr, $a2:expr, $a3:expr) => {{
8686
#[allow(unused_unsafe)]
8787
unsafe {
8888
#[allow(trivial_numeric_casts)]
89-
$crate::private::__js_3( $a1 as i32, $a2 as i32, $a3 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
89+
$crate::private::__js_3( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
9090
}
9191
}};
9292
($code:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr) => {{
9393
#[allow(unused_unsafe)]
9494
unsafe {
9595
#[allow(trivial_numeric_casts)]
96-
$crate::private::__js_4( $a1 as i32, $a2 as i32, $a3 as i32, $a4 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
96+
$crate::private::__js_4( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, $a4 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
9797
}
9898
}};
9999
($code:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr) => {{
100100
#[allow(unused_unsafe)]
101101
unsafe {
102102
#[allow(trivial_numeric_casts)]
103-
$crate::private::__js_5( $a1 as i32, $a2 as i32, $a3 as i32, $a4 as i32, $a5 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
103+
$crate::private::__js_5( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, $a4 as *const u8, $a5 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
104104
}
105105
}};
106106
($code:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr) => {{
107107
#[allow(unused_unsafe)]
108108
unsafe {
109109
#[allow(trivial_numeric_casts)]
110-
$crate::private::__js_6( $a1 as i32, $a2 as i32, $a3 as i32, $a4 as i32, $a5 as i32, $a6 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
110+
$crate::private::__js_6( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, $a4 as *const u8, $a5 as *const u8, $a6 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
111111
}
112112
}};
113113
($code:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr, $a7:expr) => {{
114114
#[allow(unused_unsafe)]
115115
unsafe {
116116
#[allow(trivial_numeric_casts)]
117-
$crate::private::__js_7( $a1 as i32, $a2 as i32, $a3 as i32, $a4 as i32, $a5 as i32, $a6 as i32, $a7 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
117+
$crate::private::__js_7( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, $a4 as *const u8, $a5 as *const u8, $a6 as *const u8, $a7 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
118118
}
119119
}};
120120
($code:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr, $a7:expr, $a8:expr) => {{
121121
#[allow(unused_unsafe)]
122122
unsafe {
123123
#[allow(trivial_numeric_casts)]
124-
$crate::private::__js_8( $a1 as i32, $a2 as i32, $a3 as i32, $a4 as i32, $a5 as i32, $a6 as i32, $a7 as i32, $a8 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
124+
$crate::private::__js_8( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, $a4 as *const u8, $a5 as *const u8, $a6 as *const u8, $a7 as *const u8, $a8 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
125125
}
126126
}};
127127
($code:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr, $a7:expr, $a8:expr, $a9:expr) => {{
128128
#[allow(unused_unsafe)]
129129
unsafe {
130130
#[allow(trivial_numeric_casts)]
131-
$crate::private::__js_9( $a1 as i32, $a2 as i32, $a3 as i32, $a4 as i32, $a5 as i32, $a6 as i32, $a7 as i32, $a8 as i32, $a9 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
131+
$crate::private::__js_9( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, $a4 as *const u8, $a5 as *const u8, $a6 as *const u8, $a7 as *const u8, $a8 as *const u8, $a9 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
132132
}
133133
}};
134134
($code:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr, $a7:expr, $a8:expr, $a9:expr, $a10:expr) => {{
135135
#[allow(unused_unsafe)]
136136
unsafe {
137137
#[allow(trivial_numeric_casts)]
138-
$crate::private::__js_10( $a1 as i32, $a2 as i32, $a3 as i32, $a4 as i32, $a5 as i32, $a6 as i32, $a7 as i32, $a8 as i32, $a9 as i32, $a10 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
138+
$crate::private::__js_10( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, $a4 as *const u8, $a5 as *const u8, $a6 as *const u8, $a7 as *const u8, $a8 as *const u8, $a9 as *const u8, $a10 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
139139
}
140140
}};
141141
($code:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr, $a7:expr, $a8:expr, $a9:expr, $a10:expr, $a11:expr) => {{
142142
#[allow(unused_unsafe)]
143143
unsafe {
144144
#[allow(trivial_numeric_casts)]
145-
$crate::private::__js_11( $a1 as i32, $a2 as i32, $a3 as i32, $a4 as i32, $a5 as i32, $a6 as i32, $a7 as i32, $a8 as i32, $a9 as i32, $a10 as i32, $a11 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
145+
$crate::private::__js_11( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, $a4 as *const u8, $a5 as *const u8, $a6 as *const u8, $a7 as *const u8, $a8 as *const u8, $a9 as *const u8, $a10 as *const u8, $a11 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
146146
}
147147
}};
148148
($code:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr, $a7:expr, $a8:expr, $a9:expr, $a10:expr, $a11:expr, $a12:expr) => {{
149149
#[allow(unused_unsafe)]
150150
unsafe {
151151
#[allow(trivial_numeric_casts)]
152-
$crate::private::__js_12( $a1 as i32, $a2 as i32, $a3 as i32, $a4 as i32, $a5 as i32, $a6 as i32, $a7 as i32, $a8 as i32, $a9 as i32, $a10 as i32, $a11 as i32, $a12 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
152+
$crate::private::__js_12( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, $a4 as *const u8, $a5 as *const u8, $a6 as *const u8, $a7 as *const u8, $a8 as *const u8, $a9 as *const u8, $a10 as *const u8, $a11 as *const u8, $a12 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
153153
}
154154
}};
155155
($code:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr, $a7:expr, $a8:expr, $a9:expr, $a10:expr, $a11:expr, $a12:expr, $a13:expr) => {{
156156
#[allow(unused_unsafe)]
157157
unsafe {
158158
#[allow(trivial_numeric_casts)]
159-
$crate::private::__js_13( $a1 as i32, $a2 as i32, $a3 as i32, $a4 as i32, $a5 as i32, $a6 as i32, $a7 as i32, $a8 as i32, $a9 as i32, $a10 as i32, $a11 as i32, $a12 as i32, $a13 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
159+
$crate::private::__js_13( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, $a4 as *const u8, $a5 as *const u8, $a6 as *const u8, $a7 as *const u8, $a8 as *const u8, $a9 as *const u8, $a10 as *const u8, $a11 as *const u8, $a12 as *const u8, $a13 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
160160
}
161161
}};
162162
($code:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr, $a7:expr, $a8:expr, $a9:expr, $a10:expr, $a11:expr, $a12:expr, $a13:expr, $a14:expr) => {{
163163
#[allow(unused_unsafe)]
164164
unsafe {
165165
#[allow(trivial_numeric_casts)]
166-
$crate::private::__js_14( $a1 as i32, $a2 as i32, $a3 as i32, $a4 as i32, $a5 as i32, $a6 as i32, $a7 as i32, $a8 as i32, $a9 as i32, $a10 as i32, $a11 as i32, $a12 as i32, $a13 as i32, $a14 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
166+
$crate::private::__js_14( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, $a4 as *const u8, $a5 as *const u8, $a6 as *const u8, $a7 as *const u8, $a8 as *const u8, $a9 as *const u8, $a10 as *const u8, $a11 as *const u8, $a12 as *const u8, $a13 as *const u8, $a14 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
167167
}
168168
}};
169169
($code:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr, $a7:expr, $a8:expr, $a9:expr, $a10:expr, $a11:expr, $a12:expr, $a13:expr, $a14:expr, $a15:expr) => {{
170170
#[allow(unused_unsafe)]
171171
unsafe {
172172
#[allow(trivial_numeric_casts)]
173-
$crate::private::__js_15( $a1 as i32, $a2 as i32, $a3 as i32, $a4 as i32, $a5 as i32, $a6 as i32, $a7 as i32, $a8 as i32, $a9 as i32, $a10 as i32, $a11 as i32, $a12 as i32, $a13 as i32, $a14 as i32, $a15 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
173+
$crate::private::__js_15( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, $a4 as *const u8, $a5 as *const u8, $a6 as *const u8, $a7 as *const u8, $a8 as *const u8, $a9 as *const u8, $a10 as *const u8, $a11 as *const u8, $a12 as *const u8, $a13 as *const u8, $a14 as *const u8, $a15 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
174174
}
175175
}};
176176
($code:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr, $a7:expr, $a8:expr, $a9:expr, $a10:expr, $a11:expr, $a12:expr, $a13:expr, $a14:expr, $a15:expr, $a16:expr) => {{
177177
#[allow(unused_unsafe)]
178178
unsafe {
179179
#[allow(trivial_numeric_casts)]
180-
$crate::private::__js_16( $a1 as i32, $a2 as i32, $a3 as i32, $a4 as i32, $a5 as i32, $a6 as i32, $a7 as i32, $a8 as i32, $a9 as i32, $a10 as i32, $a11 as i32, $a12 as i32, $a13 as i32, $a14 as i32, $a15 as i32, $a16 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
180+
$crate::private::__js_16( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, $a4 as *const u8, $a5 as *const u8, $a6 as *const u8, $a7 as *const u8, $a8 as *const u8, $a9 as *const u8, $a10 as *const u8, $a11 as *const u8, $a12 as *const u8, $a13 as *const u8, $a14 as *const u8, $a15 as *const u8, $a16 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
181181
}
182182
}};
183183
($code:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr, $a7:expr, $a8:expr, $a9:expr, $a10:expr, $a11:expr, $a12:expr, $a13:expr, $a14:expr, $a15:expr, $a16:expr, $a17:expr) => {{
184184
#[allow(unused_unsafe)]
185185
unsafe {
186186
#[allow(trivial_numeric_casts)]
187-
$crate::private::__js_17( $a1 as i32, $a2 as i32, $a3 as i32, $a4 as i32, $a5 as i32, $a6 as i32, $a7 as i32, $a8 as i32, $a9 as i32, $a10 as i32, $a11 as i32, $a12 as i32, $a13 as i32, $a14 as i32, $a15 as i32, $a16 as i32, $a17 as i32, concat!( $code, "\0" ) as *const _ as *const u8 )
187+
$crate::private::__js_17( $a1 as *const u8, $a2 as *const u8, $a3 as *const u8, $a4 as *const u8, $a5 as *const u8, $a6 as *const u8, $a7 as *const u8, $a8 as *const u8, $a9 as *const u8, $a10 as *const u8, $a11 as *const u8, $a12 as *const u8, $a13 as *const u8, $a14 as *const u8, $a15 as *const u8, $a16 as *const u8, $a17 as *const u8, concat!( $code, "\0" ) as *const _ as *const u8 )
188188
}
189189
}};
190190

0 commit comments

Comments
 (0)