diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2021-02-23 01:38:36 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2021-02-23 01:50:34 +0300 |
| commit | ddd20ef8cba83d97bdfd0b1e113e6ff7ee6e93f3 (patch) | |
| tree | 328dd503742301b78e7f0b3df16ac6cab9a4bffa /compiler | |
| parent | a15f484b918a4533ad633ea903ccce82910af342 (diff) | |
| download | rust-ddd20ef8cba83d97bdfd0b1e113e6ff7ee6e93f3.tar.gz rust-ddd20ef8cba83d97bdfd0b1e113e6ff7ee6e93f3.zip | |
expand: Do not allocate `Lrc` for `allow_internal_unstable` list unless necessary
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_expand/src/base.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/rustc_expand/src/base.rs b/compiler/rustc_expand/src/base.rs index ca304c05cdc..90be010e667 100644 --- a/compiler/rustc_expand/src/base.rs +++ b/compiler/rustc_expand/src/base.rs @@ -757,7 +757,7 @@ impl SyntaxExtension { attrs: &[ast::Attribute], ) -> SyntaxExtension { let allow_internal_unstable = - Some(attr::allow_internal_unstable(sess, &attrs).collect::<Vec<Symbol>>().into()); + attr::allow_internal_unstable(sess, &attrs).collect::<Vec<Symbol>>(); let mut local_inner_macros = false; if let Some(macro_export) = sess.find_by_name(attrs, sym::macro_export) { @@ -779,7 +779,8 @@ impl SyntaxExtension { SyntaxExtension { kind, span, - allow_internal_unstable, + allow_internal_unstable: (!allow_internal_unstable.is_empty()) + .then(|| allow_internal_unstable.into()), allow_internal_unsafe: sess.contains_name(attrs, sym::allow_internal_unsafe), local_inner_macros, stability, |
