]> git.lizzy.rs Git - rust.git/commitdiff
Forbid multiple imports in use statements
authorAlex Crichton <alex@alexcrichton.com>
Wed, 11 Dec 2013 05:50:38 +0000 (21:50 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Mon, 16 Dec 2013 06:04:18 +0000 (22:04 -0800)
Closes #10911

src/libsyntax/parse/obsolete.rs
src/libsyntax/parse/parser.rs

index 8e291ca6705f3619a888bad331af527fe1287cb2..d739fca99da0782f2d5ac3acf81d3e7bcd314227 100644 (file)
@@ -44,6 +44,7 @@ pub enum ObsoleteSyntax {
     ObsoleteVecDotDotWildcard,
     ObsoleteBoxedClosure,
     ObsoleteClosureType,
+    ObsoleteMultipleImport,
 }
 
 impl to_bytes::IterBytes for ObsoleteSyntax {
@@ -140,6 +141,10 @@ fn obsolete(&self, sp: Span, kind: ObsoleteSyntax) {
                 "closures are now written `|A| -> B` rather than `&fn(A) -> \
                  B`."
             ),
+            ObsoleteMultipleImport => (
+                "multiple imports",
+                "only one import is allowed per `use` statement"
+            ),
         };
 
         self.report(sp, kind, kind_str, desc);
index 62bfd7c80f9fdfa35355c9e3a09a4f25c50e9149..12266a878db28db800a47e0b3391516aef80596f 100644 (file)
@@ -4923,6 +4923,7 @@ fn parse_view_paths(&self) -> ~[@view_path] {
         let mut vp = ~[self.parse_view_path()];
         while *self.token == token::COMMA {
             self.bump();
+            self.obsolete(*self.last_span, ObsoleteMultipleImport);
             vp.push(self.parse_view_path());
         }
         return vp;