no_deref
no_deref
属性可以用来表示不应该为导入的类型生成 Deref
实现。如果不存在此属性,则将生成一个 Deref
实现,其 Target
为该类型的第一个 extends
属性,如果没有 extends
属性,则 Target = JsValue
。
#![allow(unused)] fn main() { #[wasm_bindgen] extern "C" { type Foo; #[wasm_bindgen(method)] fn baz(this: &Foo) #[wasm_bindgen(extends = Foo, no_deref)] type Bar; } fn do_stuff(bar: &Bar) { bar.baz() // Does not compile } }