### Describe the Bug The following compiles: ```rust #[wasm_bindgen] pub fn foo() -> Result<Vec<u8>, js_sys::Error> { unimplemented!() } ``` While the following does not: ```rust #[wasm_bindgen] pub async fn foo() -> Result<Vec<u8>, js_sys::Error> { unimplemented!() } ``` ### Steps to Reproduce 1. Copy and paste the second snippet above 2. `cargo check` 3. See error ### Expected Behavior Whatever works without `async` works the same with `async`. ### Actual Behavior Sometimes, it does not 😔. ### Additional Context Not the first instance of this issue (see #3059).