diff --git a/crates/js-sys/src/lib.rs b/crates/js-sys/src/lib.rs index 67cff622..91746028 100644 --- a/crates/js-sys/src/lib.rs +++ b/crates/js-sys/src/lib.rs @@ -885,6 +885,7 @@ impl Function { // Generator #[wasm_bindgen] extern { + #[wasm_bindgen(extends = Object)] #[derive(Clone, Debug)] pub type Generator; diff --git a/crates/js-sys/tests/wasm/Generator.rs b/crates/js-sys/tests/wasm/Generator.rs index 5fb738fc..3395ced2 100644 --- a/crates/js-sys/tests/wasm/Generator.rs +++ b/crates/js-sys/tests/wasm/Generator.rs @@ -1,5 +1,6 @@ use wasm_bindgen::prelude::*; use wasm_bindgen_test::*; +use wasm_bindgen::JsCast; use js_sys::*; #[wasm_bindgen(module = "tests/wasm/Generator.js")] @@ -56,3 +57,10 @@ fn throw() { assert!(next.value().is_undefined()); assert!(next.done()); } + +#[wasm_bindgen_test] +fn generator_inheritance() { + let gen = dummy_generator(); + + assert!(gen.is_instance_of::()); +}