1 error: the `#[proc_macro_derive]` attribute may only be used on bare functions
2 --> $DIR/issue-43106-gating-of-proc_macro_derive.rs:10:1
4 LL | #[proc_macro_derive()]
5 | ^^^^^^^^^^^^^^^^^^^^^^
7 error: the `#[proc_macro_derive]` attribute may only be used on bare functions
8 --> $DIR/issue-43106-gating-of-proc_macro_derive.rs:18:17
10 LL | mod inner { #![proc_macro_derive()] }
11 | ^^^^^^^^^^^^^^^^^^^^^^^
13 error: the `#[proc_macro_derive]` attribute is only usable with crates of the `proc-macro` crate type
14 --> $DIR/issue-43106-gating-of-proc_macro_derive.rs:21:5
16 LL | #[proc_macro_derive()] fn f() { }
17 | ^^^^^^^^^^^^^^^^^^^^^^
19 error: the `#[proc_macro_derive]` attribute may only be used on bare functions
20 --> $DIR/issue-43106-gating-of-proc_macro_derive.rs:24:5
22 LL | #[proc_macro_derive()] struct S;
23 | ^^^^^^^^^^^^^^^^^^^^^^
25 error: the `#[proc_macro_derive]` attribute may only be used on bare functions
26 --> $DIR/issue-43106-gating-of-proc_macro_derive.rs:27:5
28 LL | #[proc_macro_derive()] type T = S;
29 | ^^^^^^^^^^^^^^^^^^^^^^
31 error: the `#[proc_macro_derive]` attribute may only be used on bare functions
32 --> $DIR/issue-43106-gating-of-proc_macro_derive.rs:30:5
34 LL | #[proc_macro_derive()] impl S { }
35 | ^^^^^^^^^^^^^^^^^^^^^^
37 error: aborting due to 6 previous errors