diff options
Diffstat (limited to 'src/test/ui/proc-macro/illegal-proc-macro-derive-use.rs')
-rw-r--r-- | src/test/ui/proc-macro/illegal-proc-macro-derive-use.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/test/ui/proc-macro/illegal-proc-macro-derive-use.rs b/src/test/ui/proc-macro/illegal-proc-macro-derive-use.rs new file mode 100644 index 000000000..4efd9e952 --- /dev/null +++ b/src/test/ui/proc-macro/illegal-proc-macro-derive-use.rs @@ -0,0 +1,15 @@ +extern crate proc_macro; + +#[proc_macro_derive(Foo)] +//~^ ERROR: only usable with crates of the `proc-macro` crate type +pub fn foo(a: proc_macro::TokenStream) -> proc_macro::TokenStream { + a +} + +// Issue #37590 +#[proc_macro_derive(Foo)] +//~^ ERROR: the `#[proc_macro_derive]` attribute may only be used on bare functions +pub struct Foo { +} + +fn main() {} |