diff options
| author | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2017-08-08 18:21:20 +0300 |
|---|---|---|
| committer | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2017-08-12 09:14:50 +0300 |
| commit | 8a4facc3c30d9dfbbfc1ddc6d413dfb0520699c6 (patch) | |
| tree | f17dec95c54f6880ef5a4705db742ecb648847ae /src/libsyntax_ext | |
| parent | 2fa5340318111d562af2ef4897c75916731d55a2 (diff) | |
| download | rust-8a4facc3c30d9dfbbfc1ddc6d413dfb0520699c6.tar.gz rust-8a4facc3c30d9dfbbfc1ddc6d413dfb0520699c6.zip | |
syntax: #[allow_internal_unsafe] bypasses the unsafe_code lint in macros.
Diffstat (limited to 'src/libsyntax_ext')
| -rw-r--r-- | src/libsyntax_ext/lib.rs | 14 | ||||
| -rw-r--r-- | src/libsyntax_ext/proc_macro_registrar.rs | 1 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/libsyntax_ext/lib.rs b/src/libsyntax_ext/lib.rs index 5eab81dd28f..439538a8b5e 100644 --- a/src/libsyntax_ext/lib.rs +++ b/src/libsyntax_ext/lib.rs @@ -64,7 +64,12 @@ pub fn register_builtins(resolver: &mut syntax::ext::base::Resolver, macro_rules! register { ($( $name:ident: $f:expr, )*) => { $( register(Symbol::intern(stringify!($name)), - NormalTT(Box::new($f as MacroExpanderFn), None, false)); + NormalTT { + expander: Box::new($f as MacroExpanderFn), + def_info: None, + allow_internal_unstable: false, + allow_internal_unsafe: false, + }); )* } } @@ -112,7 +117,12 @@ pub fn register_builtins(resolver: &mut syntax::ext::base::Resolver, // format_args uses `unstable` things internally. register(Symbol::intern("format_args"), - NormalTT(Box::new(format::expand_format_args), None, true)); + NormalTT { + expander: Box::new(format::expand_format_args), + def_info: None, + allow_internal_unstable: true, + allow_internal_unsafe: false, + }); for (name, ext) in user_exts { register(name, ext); diff --git a/src/libsyntax_ext/proc_macro_registrar.rs b/src/libsyntax_ext/proc_macro_registrar.rs index ab6d73e5061..700386f68fe 100644 --- a/src/libsyntax_ext/proc_macro_registrar.rs +++ b/src/libsyntax_ext/proc_macro_registrar.rs @@ -368,6 +368,7 @@ fn mk_registrar(cx: &mut ExtCtxt, format: MacroAttribute(Symbol::intern("proc_macro")), span: None, allow_internal_unstable: true, + allow_internal_unsafe: false, } }); let span = Span { ctxt: SyntaxContext::empty().apply_mark(mark), ..DUMMY_SP }; |
