obstruct 0.1.0

An experimental implementation of anonymous structs and named function arguments
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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<i32>, b<f64>, c<&str>)`
              found tuple `(a<i32>, b<f64>, 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)