summaryrefslogtreecommitdiffstats
path: root/vendor/wasm-bindgen/tests/std-crate-no-std-dep.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/wasm-bindgen/tests/std-crate-no-std-dep.rs')
-rw-r--r--vendor/wasm-bindgen/tests/std-crate-no-std-dep.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/vendor/wasm-bindgen/tests/std-crate-no-std-dep.rs b/vendor/wasm-bindgen/tests/std-crate-no-std-dep.rs
new file mode 100644
index 000000000..bc09e4a63
--- /dev/null
+++ b/vendor/wasm-bindgen/tests/std-crate-no-std-dep.rs
@@ -0,0 +1,29 @@
+//! This is a test that we can define items in a `#![no_std]` crate when
+//! `wasm-bindgen` is compiled itself with the `std` feature and everything
+//! works out just fine.
+
+#![no_std]
+
+extern crate wasm_bindgen;
+
+use wasm_bindgen::prelude::*;
+
+#[wasm_bindgen]
+extern "C" {
+ fn test(a: &str);
+
+ type Js;
+ #[wasm_bindgen(constructor)]
+ fn new() -> Js;
+ #[wasm_bindgen(method, structural)]
+ fn init(this: &Js);
+}
+
+#[wasm_bindgen]
+pub struct A {}
+
+#[wasm_bindgen]
+impl A {
+ pub fn foo(&self) {}
+ pub fn bar(&mut self) {}
+}