Fix imported usage of wasm_bindgen macro

Make sure it refers to `__wasm_bindgen_class_marker` via an absolute
path!

Closes #1422
This commit is contained in:
Alex Crichton 2019-04-04 09:56:16 -07:00
parent 76a03adfa6
commit f48fdec21e
2 changed files with 19 additions and 1 deletions

View File

@ -896,7 +896,7 @@ fn prepare_for_impl_recursion(
pound_token: Default::default(),
style: syn::AttrStyle::Outer,
bracket_token: Default::default(),
path: syn::Ident::new("__wasm_bindgen_class_marker", Span::call_site()).into(),
path: syn::parse_quote! { wasm_bindgen::prelude::__wasm_bindgen_class_marker },
tts: quote::quote! { (#class = #js_class) }.into(),
},
);

View File

@ -459,3 +459,21 @@ pub fn option_class_assert_none(x: Option<OptionClass>) {
pub fn option_class_assert_some(x: Option<OptionClass>) {
assert_eq!(x.unwrap().0, 3);
}
mod works_in_module {
use wasm_bindgen::prelude::wasm_bindgen;
#[wasm_bindgen]
pub struct WorksInModule(u32);
#[wasm_bindgen]
impl WorksInModule {
#[wasm_bindgen(constructor)]
pub fn new() -> WorksInModule {
WorksInModule(1)
}
pub fn foo(&self) {
}
}
}