From beb3b5d22c709c19600ca6514d94f9cf1be44dca Mon Sep 17 00:00:00 2001 From: Vadim Petrochenkov Date: Sat, 8 Sep 2018 22:19:53 +0300 Subject: resolve: Introduce two sub-namespaces in macro namespace --- .../proc-macro/auxiliary/derive-helper-shadowed-2.rs | 2 ++ .../proc-macro/auxiliary/derive-helper-shadowed.rs | 11 +++++++++++ .../ui-fulldeps/proc-macro/derive-helper-shadowed.rs | 16 ++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 src/test/ui-fulldeps/proc-macro/auxiliary/derive-helper-shadowed-2.rs create mode 100644 src/test/ui-fulldeps/proc-macro/auxiliary/derive-helper-shadowed.rs create mode 100644 src/test/ui-fulldeps/proc-macro/derive-helper-shadowed.rs (limited to 'src/test/ui-fulldeps') diff --git a/src/test/ui-fulldeps/proc-macro/auxiliary/derive-helper-shadowed-2.rs b/src/test/ui-fulldeps/proc-macro/auxiliary/derive-helper-shadowed-2.rs new file mode 100644 index 00000000000..9912a89dafb --- /dev/null +++ b/src/test/ui-fulldeps/proc-macro/auxiliary/derive-helper-shadowed-2.rs @@ -0,0 +1,2 @@ +#[macro_export] +macro_rules! my_attr { () => () } diff --git a/src/test/ui-fulldeps/proc-macro/auxiliary/derive-helper-shadowed.rs b/src/test/ui-fulldeps/proc-macro/auxiliary/derive-helper-shadowed.rs new file mode 100644 index 00000000000..4e701710f42 --- /dev/null +++ b/src/test/ui-fulldeps/proc-macro/auxiliary/derive-helper-shadowed.rs @@ -0,0 +1,11 @@ +// no-prefer-dynamic + +#![crate_type = "proc-macro"] + +extern crate proc_macro; +use proc_macro::*; + +#[proc_macro_derive(MyTrait, attributes(my_attr))] +pub fn foo(_: TokenStream) -> TokenStream { + TokenStream::new() +} diff --git a/src/test/ui-fulldeps/proc-macro/derive-helper-shadowed.rs b/src/test/ui-fulldeps/proc-macro/derive-helper-shadowed.rs new file mode 100644 index 00000000000..792b54b3b94 --- /dev/null +++ b/src/test/ui-fulldeps/proc-macro/derive-helper-shadowed.rs @@ -0,0 +1,16 @@ +// compile-pass +// aux-build:derive-helper-shadowed.rs +// aux-build:derive-helper-shadowed-2.rs + +#[macro_use] +extern crate derive_helper_shadowed; +#[macro_use(my_attr)] +extern crate derive_helper_shadowed_2; + +macro_rules! my_attr { () => () } + +#[derive(MyTrait)] +#[my_attr] // OK +struct S; + +fn main() {} -- cgit 1.4.1-3-g733a5