diff options
| author | Oliver Scherer <github35764891676564198441@oli-obk.de> | 2019-02-07 14:19:06 +0100 |
|---|---|---|
| committer | Oliver Scherer <github35764891676564198441@oli-obk.de> | 2019-02-11 15:08:17 +0100 |
| commit | b681433b9d40ce1d851d22bedb7ccb483bedda06 (patch) | |
| tree | 58553f5e5d930db8c101e2b698fa43ed38a09ee0 /src/libsyntax_ext | |
| parent | 1dba7cb20224b5bb3a22641b2f4f2f73e5157dee (diff) | |
| download | rust-b681433b9d40ce1d851d22bedb7ccb483bedda06.tar.gz rust-b681433b9d40ce1d851d22bedb7ccb483bedda06.zip | |
Use `Rc<[Symbol]>` instead of `Vec<Symbol>` to reduce # of allocs
Diffstat (limited to 'src/libsyntax_ext')
| -rw-r--r-- | src/libsyntax_ext/deriving/mod.rs | 7 | ||||
| -rw-r--r-- | src/libsyntax_ext/lib.rs | 10 | ||||
| -rw-r--r-- | src/libsyntax_ext/proc_macro_decls.rs | 4 | ||||
| -rw-r--r-- | src/libsyntax_ext/test.rs | 4 | ||||
| -rw-r--r-- | src/libsyntax_ext/test_case.rs | 4 |
5 files changed, 15 insertions, 14 deletions
diff --git a/src/libsyntax_ext/deriving/mod.rs b/src/libsyntax_ext/deriving/mod.rs index bc86ffa852b..fff54814a38 100644 --- a/src/libsyntax_ext/deriving/mod.rs +++ b/src/libsyntax_ext/deriving/mod.rs @@ -138,13 +138,14 @@ fn call_intrinsic(cx: &ExtCtxt<'_>, -> P<ast::Expr> { let intrinsic_allowed_via_allow_internal_unstable = cx .current_expansion.mark.expn_info().unwrap() - .allow_internal_unstable.iter() - .any(|&s| s == "core_intrinsics"); + .allow_internal_unstable.map_or(false, |features| features.iter().any(|&s| + s == "core_intrinsics" + )); if intrinsic_allowed_via_allow_internal_unstable { span = span.with_ctxt(cx.backtrace()); } else { // Avoid instability errors with user defined curstom derives, cc #36316 let mut info = cx.current_expansion.mark.expn_info().unwrap(); - info.allow_internal_unstable = vec![Symbol::intern("core_intrinsics")]; + info.allow_internal_unstable = Some(vec![Symbol::intern("core_intrinsics")].into()); let mark = Mark::fresh(Mark::root()); mark.set_expn_info(info); span = span.with_ctxt(SyntaxContext::empty().apply_mark(mark)); diff --git a/src/libsyntax_ext/lib.rs b/src/libsyntax_ext/lib.rs index dacc54d272b..719f9a4b3fd 100644 --- a/src/libsyntax_ext/lib.rs +++ b/src/libsyntax_ext/lib.rs @@ -60,7 +60,7 @@ pub fn register_builtins(resolver: &mut dyn syntax::ext::base::Resolver, NormalTT { expander: Box::new($f as MacroExpanderFn), def_info: None, - allow_internal_unstable: Vec::new(), + allow_internal_unstable: None, allow_internal_unsafe: false, local_inner_macros: false, unstable_feature: None, @@ -103,9 +103,9 @@ pub fn register_builtins(resolver: &mut dyn syntax::ext::base::Resolver, NormalTT { expander: Box::new(format::expand_format_args), def_info: None, - allow_internal_unstable: vec![ + allow_internal_unstable: Some(vec![ Symbol::intern("fmt_internals"), - ], + ].into()), allow_internal_unsafe: false, local_inner_macros: false, unstable_feature: None, @@ -115,9 +115,9 @@ pub fn register_builtins(resolver: &mut dyn syntax::ext::base::Resolver, NormalTT { expander: Box::new(format::expand_format_args_nl), def_info: None, - allow_internal_unstable: vec![ + allow_internal_unstable: Some(vec![ Symbol::intern("fmt_internals"), - ], + ].into()), allow_internal_unsafe: false, local_inner_macros: false, unstable_feature: None, diff --git a/src/libsyntax_ext/proc_macro_decls.rs b/src/libsyntax_ext/proc_macro_decls.rs index f198739d104..5730081ce01 100644 --- a/src/libsyntax_ext/proc_macro_decls.rs +++ b/src/libsyntax_ext/proc_macro_decls.rs @@ -333,10 +333,10 @@ fn mk_decls( call_site: DUMMY_SP, def_site: None, format: MacroAttribute(Symbol::intern("proc_macro")), - allow_internal_unstable: vec![ + allow_internal_unstable: Some(vec![ Symbol::intern("rustc_attrs"), Symbol::intern("proc_macro_internals"), - ], + ].into()), allow_internal_unsafe: false, local_inner_macros: false, edition: hygiene::default_edition(), diff --git a/src/libsyntax_ext/test.rs b/src/libsyntax_ext/test.rs index e2bea0c8b07..37186246548 100644 --- a/src/libsyntax_ext/test.rs +++ b/src/libsyntax_ext/test.rs @@ -66,10 +66,10 @@ pub fn expand_test_or_bench( call_site: DUMMY_SP, def_site: None, format: MacroAttribute(Symbol::intern("test")), - allow_internal_unstable: vec![ + allow_internal_unstable: Some(vec![ Symbol::intern("rustc_attrs"), Symbol::intern("test"), - ], + ].into()), allow_internal_unsafe: false, local_inner_macros: false, edition: hygiene::default_edition(), diff --git a/src/libsyntax_ext/test_case.rs b/src/libsyntax_ext/test_case.rs index a581c282193..1ed1ab0a07b 100644 --- a/src/libsyntax_ext/test_case.rs +++ b/src/libsyntax_ext/test_case.rs @@ -41,10 +41,10 @@ pub fn expand( call_site: DUMMY_SP, def_site: None, format: MacroAttribute(Symbol::intern("test_case")), - allow_internal_unstable: vec![ + allow_internal_unstable: Some(vec![ Symbol::intern("test"), Symbol::intern("rustc_attrs"), - ], + ].into()), allow_internal_unsafe: false, local_inner_macros: false, edition: hygiene::default_edition(), |
