summaryrefslogtreecommitdiffstats
path: root/vendor/wasm-bindgen/tests/wasm/validate_prt.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/wasm-bindgen/tests/wasm/validate_prt.rs')
-rw-r--r--vendor/wasm-bindgen/tests/wasm/validate_prt.rs44
1 files changed, 44 insertions, 0 deletions
diff --git a/vendor/wasm-bindgen/tests/wasm/validate_prt.rs b/vendor/wasm-bindgen/tests/wasm/validate_prt.rs
new file mode 100644
index 000000000..84cbf1d95
--- /dev/null
+++ b/vendor/wasm-bindgen/tests/wasm/validate_prt.rs
@@ -0,0 +1,44 @@
+use wasm_bindgen::prelude::*;
+use wasm_bindgen_test::*;
+
+#[wasm_bindgen(module = "tests/wasm/validate_prt.js")]
+extern "C" {
+ fn js_works();
+}
+
+#[wasm_bindgen]
+pub struct Fruit {
+ name: String,
+}
+
+#[wasm_bindgen]
+impl Fruit {
+ pub fn name(&self) -> String {
+ self.name.clone()
+ }
+
+ #[wasm_bindgen(constructor)]
+ pub fn new(name: String) -> Self {
+ Fruit { name }
+ }
+
+ pub fn rot(self) {
+ drop(self);
+ }
+
+ #[wasm_bindgen(getter)]
+ pub fn prop(self) -> u32 {
+ 0
+ }
+
+ #[wasm_bindgen(setter)]
+ pub fn set_prop(self, _val: u32) {}
+}
+
+#[wasm_bindgen]
+pub fn eat(_: Fruit) {}
+
+#[wasm_bindgen_test]
+fn works() {
+ js_works();
+}