This used to generate "attempt to use moved value" checks in the glue for `MyThing::take`, but no longer does: ```rust use wasm_bindgen::prelude::*; #[wasm_bindgen] pub struct MyThing {} #[wasm_bindgen] impl MyThing { pub fn new() -> MyThing { MyThing {} } pub fn take(self) {} } ``` Free functions do still generate the check. Will dig in a little bit. See also: https://github.com/rustwasm/wasm-pack/issues/677