diff options
| author | John Renner <john@jrenner.net> | 2018-08-30 13:39:32 -0700 |
|---|---|---|
| committer | John Renner <john@jrenner.net> | 2018-09-04 22:33:10 -0700 |
| commit | 08ea5b7c78a864da0b1a348c3c3425e8611cef76 (patch) | |
| tree | afcb455d2ddfb8931930f1adfad8101774893e42 /src/libsyntax_ext | |
| parent | 9b27de41d4e00cb6c23df270572472fd4c6f47f8 (diff) | |
| download | rust-08ea5b7c78a864da0b1a348c3c3425e8611cef76.tar.gz rust-08ea5b7c78a864da0b1a348c3c3425e8611cef76.zip | |
Fix #[test] shadowing in macro_prelude
Diffstat (limited to 'src/libsyntax_ext')
| -rw-r--r-- | src/libsyntax_ext/lib.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/libsyntax_ext/lib.rs b/src/libsyntax_ext/lib.rs index bbbf338c4f3..a9990cdeabf 100644 --- a/src/libsyntax_ext/lib.rs +++ b/src/libsyntax_ext/lib.rs @@ -71,6 +71,18 @@ pub fn register_builtins(resolver: &mut dyn syntax::ext::base::Resolver, enable_quotes: bool) { deriving::register_builtin_derives(resolver); + { + let mut register_unshadowable = |name, ext| { + resolver.add_unshadowable_attr(ast::Ident::with_empty_ctxt(name), Lrc::new(ext)); + }; + + register_unshadowable(Symbol::intern("test"), + MultiModifier(Box::new(test::expand_test))); + + register_unshadowable(Symbol::intern("bench"), + MultiModifier(Box::new(test::expand_bench))); + } + let mut register = |name, ext| { resolver.add_builtin(ast::Ident::with_empty_ctxt(name), Lrc::new(ext)); }; @@ -133,8 +145,6 @@ pub fn register_builtins(resolver: &mut dyn syntax::ext::base::Resolver, assert: assert::expand_assert, } - register(Symbol::intern("test"), MultiModifier(Box::new(test::expand_test))); - register(Symbol::intern("bench"), MultiModifier(Box::new(test::expand_bench))); // format_args uses `unstable` things internally. register(Symbol::intern("format_args"), |
