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 } }