about summary refs log tree commit diff
path: root/src/libsyntax_ext
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2019-03-17 14:17:47 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2019-03-17 17:04:58 +0300
commitdb74efce69711fcee03d3338afcbca67c27ceee8 (patch)
treeab54b453943a292c250b890140d431e99091be5e /src/libsyntax_ext
parent7cf074a1e655ac07d04d045667278fa1a9970b93 (diff)
downloadrust-db74efce69711fcee03d3338afcbca67c27ceee8.tar.gz
rust-db74efce69711fcee03d3338afcbca67c27ceee8.zip
Make meta-item API compatible with `LocalInternedString::get` soundness fix
Diffstat (limited to 'src/libsyntax_ext')
-rw-r--r--src/libsyntax_ext/deriving/generic/mod.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libsyntax_ext/deriving/generic/mod.rs b/src/libsyntax_ext/deriving/generic/mod.rs
index 2bb98c1bf62..c790e6ba7f1 100644
--- a/src/libsyntax_ext/deriving/generic/mod.rs
+++ b/src/libsyntax_ext/deriving/generic/mod.rs
@@ -463,9 +463,10 @@ impl<'a> TraitDef<'a> {
                 let mut attrs = newitem.attrs.clone();
                 attrs.extend(item.attrs
                     .iter()
-                    .filter(|a| a.ident_str().map_or(false, |name| {
-                        ["allow", "warn", "deny", "forbid", "stable", "unstable"].contains(&name)
-                    }))
+                    .filter(|a| {
+                        ["allow", "warn", "deny", "forbid", "stable", "unstable"]
+                            .contains(&a.name_or_empty().get())
+                    })
                     .cloned());
                 push(Annotatable::Item(P(ast::Item { attrs: attrs, ..(*newitem).clone() })))
             }