diff options
| author | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2017-03-03 09:23:59 +0000 |
|---|---|---|
| committer | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2017-03-14 04:03:43 +0000 |
| commit | 68c1cc68b44bb987ec57251bc457a55292515d1d (patch) | |
| tree | c091a1804173d06c3f32831cdaf6ae2ca24dc42d /src/libsyntax_ext/deriving | |
| parent | 460bf55f8a649a7f19680df2ac67dbeb936f8700 (diff) | |
Refactor `Attribute` to use `Path` and `TokenStream` instead of `MetaItem`.
Diffstat (limited to 'src/libsyntax_ext/deriving')
| -rw-r--r-- | src/libsyntax_ext/deriving/custom.rs | 8 | ||||
| -rw-r--r-- | src/libsyntax_ext/deriving/generic/mod.rs | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/libsyntax_ext/deriving/custom.rs b/src/libsyntax_ext/deriving/custom.rs index a7e2d82bb97..b01ef65e5fe 100644 --- a/src/libsyntax_ext/deriving/custom.rs +++ b/src/libsyntax_ext/deriving/custom.rs @@ -23,9 +23,11 @@ struct MarkAttrs<'a>(&'a [ast::Name]); impl<'a> Visitor<'a> for MarkAttrs<'a> { fn visit_attribute(&mut self, attr: &Attribute) { - if self.0.contains(&attr.name()) { - mark_used(attr); - mark_known(attr); + if let Some(name) = attr.name() { + if self.0.contains(&name) { + mark_used(attr); + mark_known(attr); + } } } diff --git a/src/libsyntax_ext/deriving/generic/mod.rs b/src/libsyntax_ext/deriving/generic/mod.rs index fe492bd7fc8..48e7ff0d243 100644 --- a/src/libsyntax_ext/deriving/generic/mod.rs +++ b/src/libsyntax_ext/deriving/generic/mod.rs @@ -439,7 +439,7 @@ impl<'a> TraitDef<'a> { attrs.extend(item.attrs .iter() .filter(|a| { - match &*a.name().as_str() { + a.name().is_some() && match &*a.name().unwrap().as_str() { "allow" | "warn" | "deny" | "forbid" | "stable" | "unstable" => true, _ => false, } |
