diff --git a/examples/add/src/lib.rs b/examples/add/src/lib.rs index 2b69e764..ad4ffde3 100644 --- a/examples/add/src/lib.rs +++ b/examples/add/src/lib.rs @@ -2,319 +2,5 @@ use wasm_bindgen::prelude::*; #[wasm_bindgen] pub fn add(a: u32, b: u32) -> u32 { - lol as u32 -} - -#[wasm_bindgen] -pub enum Enum { - A, - B, -} - -#[wasm_bindgen] -pub struct Rust {} - -#[wasm_bindgen] -pub fn wut( - // anyref - _: &JsValue, - _: JsValue, - // rust - _: &Rust, - _: Rust, - _: Enum, - _: bool, - _: char, - // numbers - _: f32, - _: f64, - _: i8, - _: u8, - _: i16, - _: u16, - _: i32, - _: u32, - _: i64, - _: u64, - // slices - _: &[u8], - _: &[i8], - _: &[u16], - _: &[i16], - _: &[u32], - _: &[i32], - _: &[u64], - _: &[i64], - _: &[f32], - _: &[f64], - // vectors - _: Vec, - _: Vec, - _: Vec, - _: Vec, - _: Vec, - _: Vec, - _: Vec, - _: Vec, - _: Vec, - _: Vec, - // option float - _: Option, - _: Option, - // option integer - _: Option, - _: Option, - _: Option, - _: Option, - _: Option, - _: Option, - _: Option, - _: Option, - // option misc - _: Option, - _: Option, - _: Option, - _: Option, - // option vectors - _: Option>, - _: Option>, - _: Option>, - _: Option>, - _: Option>, - _: Option>, - _: Option>, - _: Option>, - _: Option>, - _: Option>, -) { -} - -#[wasm_bindgen] -pub fn goo(x: u32) { - unsafe { - std::mem::transmute::(x)(); - } -} - -#[wasm_bindgen] -pub fn r1() -> Rust { - loop {} -} -#[wasm_bindgen] -pub fn r2() -> Vec { - loop {} -} -#[wasm_bindgen] -pub fn r3() -> JsValue { - loop {} -} -#[wasm_bindgen] -pub fn r4() -> i8 { - loop {} -} -#[wasm_bindgen] -pub fn r5() -> u8 { - loop {} -} -#[wasm_bindgen] -pub fn r6() -> i16 { - loop {} -} -#[wasm_bindgen] -pub fn r7() -> u16 { - loop {} -} -#[wasm_bindgen] -pub fn r8() -> i32 { - loop {} -} -#[wasm_bindgen] -pub fn r9() -> u32 { - loop {} -} -#[wasm_bindgen] -pub fn r10() -> i64 { - loop {} -} -#[wasm_bindgen] -pub fn r11() -> u64 { - loop {} -} -#[wasm_bindgen] -pub fn r12() -> f32 { - loop {} -} -#[wasm_bindgen] -pub fn r13() -> f64 { - loop {} -} -#[wasm_bindgen] -pub fn r14() -> bool { - loop {} -} -#[wasm_bindgen] -pub fn r15() -> char { - loop {} -} -#[wasm_bindgen] -pub fn r16() -> Enum { - loop {} -} -#[wasm_bindgen] -pub fn r17() -> Option> { - loop {} -} -#[wasm_bindgen] -pub fn r18() -> Option { - loop {} -} -#[wasm_bindgen] -pub fn r19() -> Option { - loop {} -} -#[wasm_bindgen] -pub fn r20() -> Option { - loop {} -} -#[wasm_bindgen] -pub fn r21() -> Option { - loop {} -} -#[wasm_bindgen] -pub fn r22() -> Option { - loop {} -} - -#[wasm_bindgen] -extern "C" { - pub fn lol( - // anyref - _: &JsValue, - _: JsValue, - // rust - // _: &Rust, - _: Rust, - _: Enum, - _: bool, - _: char, - // numbers - _: f32, - _: f64, - _: i8, - _: u8, - _: i16, - _: u16, - _: i32, - _: u32, - _: i64, - _: u64, - // slices - _: &[u8], - _: &[i8], - _: &[u16], - _: &[i16], - _: &[u32], - _: &[i32], - _: &[u64], - _: &[i64], - _: &[f32], - _: &[f64], - // vectors - _: Vec, - _: Vec, - _: Vec, - _: Vec, - _: Vec, - _: Vec, - _: Vec, - _: Vec, - _: Vec, - _: Vec, - // option float - _: Option, - _: Option, - // option integer - _: Option, - _: Option, - _: Option, - _: Option, - _: Option, - _: Option, - _: Option, - _: Option, - // option misc - _: Option, - _: Option, - _: Option, - _: Option, - // option vectors - _: Option>, - _: Option>, - _: Option>, - _: Option>, - _: Option>, - _: Option>, - _: Option>, - _: Option>, - _: Option>, - _: Option>, - // option slices - _: Option<&[u8]>, - _: Option<&[i8]>, - _: Option<&[u16]>, - _: Option<&[i16]>, - _: Option<&[u32]>, - _: Option<&[i32]>, - _: Option<&[u64]>, - _: Option<&[i64]>, - _: Option<&[f32]>, - _: Option<&[f64]>, - // closures - _: &dyn Fn(), - _: &mut dyn FnMut(), - _: &Closure, - _: &Closure, - ); -} - -macro_rules! t { - ($($n:ident : $t:ty,)*) => ( - $( - #[wasm_bindgen] - pub fn $n() -> u32 { - #[wasm_bindgen] - extern "C" { - #[wasm_bindgen(js_namespace = nowhere)] - fn $n() -> $t; - } - return $n as u32; - } - - )* - ) -} - -t! { - x1: i8, - x2: u8, - x3: i16, - x4: u16, - x5: i32, - x6: u32, - x7: i64, - x8: u64, - x9: f32, - x10: f64, - x11: Rust, - x12: Vec, - x13: JsValue, - x14: bool, - x15: char, - x16: Enum, - x17: Option>, - x18: Option, - x19: Option, - x20: Option, - x21: Option, - x22: Option, + a + b }