error: cannot find attribute `C` in this scope
  --> $DIR/proc-macro-attributes.rs:9:3
   |
LL | #[C]
   |   ^
   |
help: the derive macro `B` accepts the similarly named `B` attribute
   |
LL - #[C]
LL + #[B]
   |

error[E0659]: `B` is ambiguous
  --> $DIR/proc-macro-attributes.rs:6:3
   |
LL | #[B]
   |   ^ ambiguous name
   |
   = note: ambiguous because of a name conflict with a derive helper attribute
note: `B` could refer to the derive helper attribute defined here
  --> $DIR/proc-macro-attributes.rs:19:10
   |
LL | #[derive(B)]
   |          ^
note: `B` could also refer to the derive macro imported here
  --> $DIR/proc-macro-attributes.rs:3:1
   |
LL | #[macro_use]
   | ^^^^^^^^^^^^

error[E0659]: `B` is ambiguous
  --> $DIR/proc-macro-attributes.rs:10:3
   |
LL | #[B(D)]
   |   ^ ambiguous name
   |
   = note: ambiguous because of a name conflict with a derive helper attribute
note: `B` could refer to the derive helper attribute defined here
  --> $DIR/proc-macro-attributes.rs:19:10
   |
LL | #[derive(B)]
   |          ^
note: `B` could also refer to the derive macro imported here
  --> $DIR/proc-macro-attributes.rs:3:1
   |
LL | #[macro_use]
   | ^^^^^^^^^^^^

error[E0659]: `B` is ambiguous
  --> $DIR/proc-macro-attributes.rs:13:3
   |
LL | #[B(E = "foo")]
   |   ^ ambiguous name
   |
   = note: ambiguous because of a name conflict with a derive helper attribute
note: `B` could refer to the derive helper attribute defined here
  --> $DIR/proc-macro-attributes.rs:19:10
   |
LL | #[derive(B)]
   |          ^
note: `B` could also refer to the derive macro imported here
  --> $DIR/proc-macro-attributes.rs:3:1
   |
LL | #[macro_use]
   | ^^^^^^^^^^^^

error[E0659]: `B` is ambiguous
  --> $DIR/proc-macro-attributes.rs:16:3
   |
LL | #[B(arbitrary tokens)]
   |   ^ ambiguous name
   |
   = note: ambiguous because of a name conflict with a derive helper attribute
note: `B` could refer to the derive helper attribute defined here
  --> $DIR/proc-macro-attributes.rs:19:10
   |
LL | #[derive(B)]
   |          ^
note: `B` could also refer to the derive macro imported here
  --> $DIR/proc-macro-attributes.rs:3:1
   |
LL | #[macro_use]
   | ^^^^^^^^^^^^

error: derive helper attribute is used before it is introduced
  --> $DIR/proc-macro-attributes.rs:6:3
   |
LL | #[B]
   |   ^
...
LL | #[derive(B)]
   |          - the attribute is introduced here
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>
   = note: `#[deny(legacy_derive_helpers)]` (part of `#[deny(future_incompatible)]`) on by default

error: derive helper attribute is used before it is introduced
  --> $DIR/proc-macro-attributes.rs:10:3
   |
LL | #[B(D)]
   |   ^
...
LL | #[derive(B)]
   |          - the attribute is introduced here
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>

error: derive helper attribute is used before it is introduced
  --> $DIR/proc-macro-attributes.rs:13:3
   |
LL | #[B(E = "foo")]
   |   ^
...
LL | #[derive(B)]
   |          - the attribute is introduced here
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>

error: derive helper attribute is used before it is introduced
  --> $DIR/proc-macro-attributes.rs:16:3
   |
LL | #[B(arbitrary tokens)]
   |   ^
...
LL | #[derive(B)]
   |          - the attribute is introduced here
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>

error: aborting due to 9 previous errors

For more information about this error, try `rustc --explain E0659`.
Future incompatibility report: Future breakage diagnostic:
error: derive helper attribute is used before it is introduced
  --> $DIR/proc-macro-attributes.rs:6:3
   |
LL | #[B]
   |   ^
...
LL | #[derive(B)]
   |          - the attribute is introduced here
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>
   = note: `#[deny(legacy_derive_helpers)]` (part of `#[deny(future_incompatible)]`) on by default

Future breakage diagnostic:
error: derive helper attribute is used before it is introduced
  --> $DIR/proc-macro-attributes.rs:10:3
   |
LL | #[B(D)]
   |   ^
...
LL | #[derive(B)]
   |          - the attribute is introduced here
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>
   = note: `#[deny(legacy_derive_helpers)]` (part of `#[deny(future_incompatible)]`) on by default

Future breakage diagnostic:
error: derive helper attribute is used before it is introduced
  --> $DIR/proc-macro-attributes.rs:13:3
   |
LL | #[B(E = "foo")]
   |   ^
...
LL | #[derive(B)]
   |          - the attribute is introduced here
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>
   = note: `#[deny(legacy_derive_helpers)]` (part of `#[deny(future_incompatible)]`) on by default

Future breakage diagnostic:
error: derive helper attribute is used before it is introduced
  --> $DIR/proc-macro-attributes.rs:16:3
   |
LL | #[B(arbitrary tokens)]
   |   ^
...
LL | #[derive(B)]
   |          - the attribute is introduced here
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>
   = note: `#[deny(legacy_derive_helpers)]` (part of `#[deny(future_incompatible)]`) on by default

