diff --git a/tests/ui/proc-macro/auxiliary/extra-empty-derive.rs b/tests/ui/proc-macro/auxiliary/extra-empty-derive.rs new file mode 100644 index 0000000000000..9a89e04364d75 --- /dev/null +++ b/tests/ui/proc-macro/auxiliary/extra-empty-derive.rs @@ -0,0 +1,7 @@ +extern crate proc_macro; +use proc_macro::{TokenStream, TokenTree}; + +#[proc_macro_derive(Empty2, attributes(empty_helper))] +pub fn empty_derive2(_: TokenStream) -> TokenStream { + TokenStream::new() +} diff --git a/tests/ui/proc-macro/helper-attr-compat-collision.rs b/tests/ui/proc-macro/helper-attr-compat-collision.rs new file mode 100644 index 0000000000000..2952afb126be1 --- /dev/null +++ b/tests/ui/proc-macro/helper-attr-compat-collision.rs @@ -0,0 +1,15 @@ +//@ proc-macro: test-macros.rs +//@ proc-macro: extra-empty-derive.rs +//@ build-pass + +#[macro_use(Empty)] +extern crate test_macros; +#[macro_use(Empty2)] +extern crate extra_empty_derive; + +#[derive(Empty)] +#[empty_helper] +#[derive(Empty2)] +struct S; + +fn main() {}