Improve error message for infer_setter_property

If the setter doesn't start with `set_*` then we currently panic, but
panicking is bad! Instead let's thread through structured errors to make
sure they make their way to the top
This commit is contained in:
Alex Crichton
2018-09-21 17:29:50 -07:00
parent 616b27457d
commit 534cceafc8
4 changed files with 90 additions and 38 deletions

View File

@ -0,0 +1,19 @@
extern crate wasm_bindgen;
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
extern "C" {
type A;
#[wasm_bindgen(setter, method)]
fn a(this: &A, b: i32);
#[wasm_bindgen(setter = x, method)]
fn b(this: &A, b: i32);
#[wasm_bindgen(setter, method, js_name = x)]
fn c(this: &A, b: i32);
}
fn main() {}

View File

@ -0,0 +1,14 @@
error: setters must start with `set_`, found: a
--> $DIR/invalid-setter.rs:10:8
|
10 | fn a(this: &A, b: i32);
| ^
error: setters must start with `set_`, found: x
--> $DIR/invalid-setter.rs:15:46
|
15 | #[wasm_bindgen(setter, method, js_name = x)]
| ^
error: aborting due to 2 previous errors