// except according to those terms.
fn foo(a: [0; 1]) {} //~ ERROR expected type, found `0`
-//~| ERROR expected one of `)`, `->`, `where`, or `{`, found `]`
+//~| ERROR expected one of `)`, `,`, `->`, `where`, or `{`, found `]`
// FIXME(jseyfried): avoid emitting the second error (preexisting)
fn main() {}
--- /dev/null
+error: expected one of `)` or `,`, found `(`
+ --> $DIR/test.rs:14:26
+ |
+LL | struct S2(pub((foo)) ());
+ | ^ expected one of `)` or `,` here
+
+error[E0412]: cannot find type `foo` in this scope
+ --> $DIR/test.rs:14:20
+ |
+LL | struct S2(pub((foo)) ());
+ | ^^^ not found in this scope
+
+error[E0601]: `main` function not found in crate `test`
+ |
+ = note: consider adding a `main` function to `$DIR/test.rs`
+
+error: aborting due to 3 previous errors
+
+Some errors occurred: E0412, E0601.
+For more information about an error, try `rustc --explain E0412`.
--- /dev/null
+error: expected one of `)` or `,`, found `(`
+ --> $DIR/test2.rs:15:26
+ |
+LL | struct S3(pub $t ());
+ | ^ expected one of `)` or `,` here
+...
+LL | define_struct! { (foo) }
+ | ------------------------ in this macro invocation
+
+error: aborting due to previous error
+
--- /dev/null
+error: expected one of `)` or `,`, found `(`
+ --> $DIR/test3.rs:15:27
+ |
+LL | struct S3(pub($t) ());
+ | ^ expected one of `)` or `,` here
+...
+LL | define_struct! { foo }
+ | ---------------------- in this macro invocation
+
+error: aborting due to previous error
+