diff options
| author | Flavio Percoco <flaper87@gmail.com> | 2014-04-23 18:16:06 +0200 |
|---|---|---|
| committer | Flavio Percoco <flaper87@gmail.com> | 2014-04-23 18:22:09 +0200 |
| commit | 6e53cfa61e2d63f4dfa628d1b6592b6a729b3172 (patch) | |
| tree | 7609930da13009f3b078a98c2053b7b14e5fd4d9 /src/libsyntax/ast_map.rs | |
| parent | aff620de1e5e0791b7c91f765cf17f3214848230 (diff) | |
| download | rust-6e53cfa61e2d63f4dfa628d1b6592b6a729b3172.tar.gz rust-6e53cfa61e2d63f4dfa628d1b6592b6a729b3172.zip | |
syntax: fix de-@rooting fallout
Diffstat (limited to 'src/libsyntax/ast_map.rs')
| -rw-r--r-- | src/libsyntax/ast_map.rs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/libsyntax/ast_map.rs b/src/libsyntax/ast_map.rs index 7a167237d3e..865c3be4ae6 100644 --- a/src/libsyntax/ast_map.rs +++ b/src/libsyntax/ast_map.rs @@ -363,14 +363,15 @@ impl Map { } pub fn with_attrs<T>(&self, id: NodeId, f: |Option<&[Attribute]>| -> T) -> T { - let attrs = match self.get(id) { - NodeItem(i) => Some(i.attrs.as_slice()), - NodeForeignItem(fi) => Some(fi.attrs.as_slice()), - NodeTraitMethod(tm) => match *tm { + let node = self.get(id); + let attrs = match node { + NodeItem(ref i) => Some(i.attrs.as_slice()), + NodeForeignItem(ref fi) => Some(fi.attrs.as_slice()), + NodeTraitMethod(ref tm) => match **tm { Required(ref type_m) => Some(type_m.attrs.as_slice()), - Provided(m) => Some(m.attrs.as_slice()) + Provided(ref m) => Some(m.attrs.as_slice()) }, - NodeMethod(m) => Some(m.attrs.as_slice()), + NodeMethod(ref m) => Some(m.attrs.as_slice()), NodeVariant(ref v) => Some(v.node.attrs.as_slice()), // unit/tuple structs take the attributes straight from // the struct definition. |
