error[E0308]: mismatched types --> tests/should_fail/call_too_many_args.rs:12:21 | 12 | let (a, b, c) = call! { test_foo, { b: B, a: A, c: C, oops: 0}}; // Too many arguments. | ^^^^^^^^--------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | | | | arguments to this function are incorrect | expected a tuple with 3 elements, found one with 4 elements | = note: expected tuple `(a, b, c<&str>)` found tuple `(a, b, c<&str>, oops<{integer}>)` note: function defined here --> tests/should_fail/call_too_many_args.rs:10:18 | 10 | destruct!{fn test_foo({a: i32, b: f64, c: &'static str}) -> (i32, f64, &'static str) { (a, b, c) }}; | -------------^^^^^^^^------------------------------------------------------------------------------ = note: this error originates in the macro `call` (in Nightly builds, run with -Z macro-backtrace for more info)