Rollup merge of #132949 - clubby789:macro-rules-attr-derive, r=fmease
Add specific diagnostic for using macro_rules macro as attribute/derive Fixes #132928
This commit is contained in:
commit
f7e3de36fc
7 changed files with 91 additions and 6 deletions
|
|
@ -4,7 +4,7 @@ error: cannot find macro `something_later` in this scope
|
|||
LL | something_later!();
|
||||
| ^^^^^^^^^^^^^^^ consider moving the definition of `something_later` before this call
|
||||
|
|
||||
note: a macro with the same name exists, but it appears later at here
|
||||
note: a macro with the same name exists, but it appears later
|
||||
--> $DIR/defined-later-issue-121061-2.rs:6:18
|
||||
|
|
||||
LL | macro_rules! something_later {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ error: cannot find macro `something_later` in this scope
|
|||
LL | something_later!();
|
||||
| ^^^^^^^^^^^^^^^ consider moving the definition of `something_later` before this call
|
||||
|
|
||||
note: a macro with the same name exists, but it appears later at here
|
||||
note: a macro with the same name exists, but it appears later
|
||||
--> $DIR/defined-later-issue-121061.rs:5:14
|
||||
|
|
||||
LL | macro_rules! something_later {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
#![crate_type = "lib"]
|
||||
|
||||
macro_rules! sample { () => {} }
|
||||
|
||||
#[sample] //~ ERROR cannot find attribute `sample` in this scope
|
||||
#[derive(sample)] //~ ERROR cannot find derive macro `sample` in this scope
|
||||
//~| ERROR cannot find derive macro `sample` in this scope
|
||||
//~| ERROR cannot find derive macro `sample` in this scope
|
||||
pub struct S {}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
error: cannot find derive macro `sample` in this scope
|
||||
--> $DIR/macro-rules-as-derive-or-attr-issue-132928.rs:6:10
|
||||
|
|
||||
LL | macro_rules! sample { () => {} }
|
||||
| ------ `sample` exists, but a declarative macro cannot be used as a derive macro
|
||||
...
|
||||
LL | #[derive(sample)]
|
||||
| ^^^^^^
|
||||
|
||||
error: cannot find attribute `sample` in this scope
|
||||
--> $DIR/macro-rules-as-derive-or-attr-issue-132928.rs:5:3
|
||||
|
|
||||
LL | macro_rules! sample { () => {} }
|
||||
| ------ `sample` exists, but a declarative macro cannot be used as an attribute macro
|
||||
LL |
|
||||
LL | #[sample]
|
||||
| ^^^^^^
|
||||
|
||||
error: cannot find derive macro `sample` in this scope
|
||||
--> $DIR/macro-rules-as-derive-or-attr-issue-132928.rs:6:10
|
||||
|
|
||||
LL | macro_rules! sample { () => {} }
|
||||
| ------ `sample` exists, but a declarative macro cannot be used as a derive macro
|
||||
...
|
||||
LL | #[derive(sample)]
|
||||
| ^^^^^^
|
||||
|
|
||||
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
|
||||
|
||||
error: cannot find derive macro `sample` in this scope
|
||||
--> $DIR/macro-rules-as-derive-or-attr-issue-132928.rs:6:10
|
||||
|
|
||||
LL | macro_rules! sample { () => {} }
|
||||
| ------ `sample` exists, but a declarative macro cannot be used as a derive macro
|
||||
...
|
||||
LL | #[derive(sample)]
|
||||
| ^^^^^^
|
||||
|
|
||||
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue