]> git.lizzy.rs Git - rust.git/blobdiff - src/libsyntax/ext/expand.rs
librustc: Remove unique vector patterns from the language.
[rust.git] / src / libsyntax / ext / expand.rs
index 4b81713f7d0c9a4b4cb22b97ab5b579d63894689..1e0bfb0d3e9f0bc216957aa1975c335867ea605c 100644 (file)
@@ -647,14 +647,10 @@ fn visit_pat(&mut self, pattern: &ast::Pat, _: ()) {
                     &ast::Path {
                         global: false,
                         span: _,
-                        segments: [
-                            ast::PathSegment {
-                                identifier: id,
-                                lifetimes: _,
-                                types: _
-                            }
-                        ]
-                    } => self.ident_accumulator.push(id),
+                        segments: ref segments
+                    } if segments.len() == 1 => {
+                        self.ident_accumulator.push(segments[0].identifier)
+                    }
                     // I believe these must be enums...
                     _ => ()
                 }
@@ -1187,7 +1183,12 @@ fn run_renaming_test(t: &RenamingTest, test_idx: uint) {
         let bindings = name_finder.ident_accumulator;
 
         let cxbinds: ~[&ast::Ident] =
-            bindings.iter().filter(|b| "xx" == token::get_ident(**b).get()).collect();
+            bindings.iter().filter(|b| {
+                let ident = token::get_ident(**b);
+                let string = ident.get();
+                "xx" == string
+            }).collect();
+        let cxbinds: &[&ast::Ident] = cxbinds;
         let cxbind = match cxbinds {
             [b] => b,
             _ => fail!("expected just one binding for ext_cx")