resolve: Reserve cfg/cfg_attr/derive only in attribute sub-namespace

This commit is contained in:
Vadim Petrochenkov 2019-06-30 01:24:34 +03:00
parent 920a17a60c
commit 327450797d
5 changed files with 38 additions and 31 deletions

View file

@ -8,18 +8,18 @@ use proc_macro::*;
#[proc_macro_attribute]
pub fn cfg(_: TokenStream, input: TokenStream) -> TokenStream {
//~^ ERROR name `cfg` is reserved in macro namespace
//~^ ERROR name `cfg` is reserved in attribute namespace
input
}
#[proc_macro_attribute]
pub fn cfg_attr(_: TokenStream, input: TokenStream) -> TokenStream {
//~^ ERROR name `cfg_attr` is reserved in macro namespace
//~^ ERROR name `cfg_attr` is reserved in attribute namespace
input
}
#[proc_macro_attribute]
pub fn derive(_: TokenStream, input: TokenStream) -> TokenStream {
//~^ ERROR name `derive` is reserved in macro namespace
//~^ ERROR name `derive` is reserved in attribute namespace
input
}

View file

@ -1,16 +1,16 @@
error: name `cfg` is reserved in macro namespace
error: name `cfg` is reserved in attribute namespace
--> $DIR/reserved-macro-names.rs:10:8
|
LL | pub fn cfg(_: TokenStream, input: TokenStream) -> TokenStream {
| ^^^
error: name `cfg_attr` is reserved in macro namespace
error: name `cfg_attr` is reserved in attribute namespace
--> $DIR/reserved-macro-names.rs:16:8
|
LL | pub fn cfg_attr(_: TokenStream, input: TokenStream) -> TokenStream {
| ^^^^^^^^
error: name `derive` is reserved in macro namespace
error: name `derive` is reserved in attribute namespace
--> $DIR/reserved-macro-names.rs:22:8
|
LL | pub fn derive(_: TokenStream, input: TokenStream) -> TokenStream {