rust/tests/ui/parser/macro/macro-attr-bad.stderr
Josh Triplett 8fb98ef368 mbe: Parse macro derive rules
This handles various kinds of errors, but does not allow applying the
derive yet.

This adds the feature gate `macro_derive`.
2025-08-14 13:53:57 -07:00

81 lines
2.8 KiB
Plaintext

error: macro definition ended unexpectedly
--> $DIR/macro-attr-bad.rs:4:38
|
LL | macro_rules! attr_incomplete_1 { attr }
| ^ expected macro attr args
error: macro definition ended unexpectedly
--> $DIR/macro-attr-bad.rs:7:40
|
LL | macro_rules! attr_incomplete_2 { attr() }
| ^ expected macro attr body
error: expected `=>`, found end of macro arguments
--> $DIR/macro-attr-bad.rs:10:43
|
LL | macro_rules! attr_incomplete_3 { attr() {} }
| ^ expected `=>`
error: macro definition ended unexpectedly
--> $DIR/macro-attr-bad.rs:13:46
|
LL | macro_rules! attr_incomplete_4 { attr() {} => }
| ^ expected right-hand side of macro rule
error: `attr` rule argument matchers require parentheses
--> $DIR/macro-attr-bad.rs:16:36
|
LL | macro_rules! attr_noparens_1 { attr{} {} => {} }
| ^^
|
help: the delimiters should be `(` and `)`
|
LL - macro_rules! attr_noparens_1 { attr{} {} => {} }
LL + macro_rules! attr_noparens_1 { attr() {} => {} }
|
error: `attr` rule argument matchers require parentheses
--> $DIR/macro-attr-bad.rs:19:36
|
LL | macro_rules! attr_noparens_2 { attr[] {} => {} }
| ^^
|
help: the delimiters should be `(` and `)`
|
LL - macro_rules! attr_noparens_2 { attr[] {} => {} }
LL + macro_rules! attr_noparens_2 { attr() {} => {} }
|
error: invalid macro matcher; matchers must be contained in balanced delimiters
--> $DIR/macro-attr-bad.rs:22:37
|
LL | macro_rules! attr_noparens_3 { attr _ {} => {} }
| ^
error: duplicate matcher binding
--> $DIR/macro-attr-bad.rs:25:52
|
LL | macro_rules! attr_dup_matcher_1 { attr() {$x:ident $x:ident} => {} }
| -------- ^^^^^^^^ duplicate binding
| |
| previous binding
error: duplicate matcher binding
--> $DIR/macro-attr-bad.rs:28:49
|
LL | macro_rules! attr_dup_matcher_2 { attr($x:ident $x:ident) {} => {} }
| -------- ^^^^^^^^ duplicate binding
| |
| previous binding
error: duplicate matcher binding
--> $DIR/macro-attr-bad.rs:31:51
|
LL | macro_rules! attr_dup_matcher_3 { attr($x:ident) {$x:ident} => {} }
| -------- ^^^^^^^^ duplicate binding
| |
| previous binding
error: aborting due to 10 previous errors