]> git.lizzy.rs Git - rust.git/commitdiff
Fix a rebasing issue and addressed reviewer comment
authorNick Cameron <ncameron@mozilla.com>
Thu, 21 Jan 2016 19:55:54 +0000 (08:55 +1300)
committerNick Cameron <ncameron@mozilla.com>
Mon, 25 Jan 2016 18:00:18 +0000 (07:00 +1300)
src/librustc/middle/cstore.rs
src/librustc_resolve/lib.rs

index 756d708732a4ef44ca3b3daa5a279cfbbcaca395..973fd65beb3d88031936d271563ede90c60465e4 100644 (file)
@@ -267,20 +267,28 @@ pub fn visit_ids<O: IdVisitingOperation>(&self, operation: &mut O) {
 
 // FIXME: find a better place for this?
 pub fn validate_crate_name(sess: Option<&Session>, s: &str, sp: Option<Span>) {
-    let say = |s: &str| {
-        match (sp, sess) {
-            (_, None) => panic!("{}", s),
-            (Some(sp), Some(sess)) => sess.span_fatal(sp, s),
-            (None, Some(sess)) => sess.fatal(s),
+    let mut err_count = 0;
+    {
+        let mut say = |s: &str| {
+            match (sp, sess) {
+                (_, None) => panic!("{}", s),
+                (Some(sp), Some(sess)) => sess.span_err(sp, s),
+                (None, Some(sess)) => sess.err(s),
+            }
+            err_count += 1;
+        };
+        if s.is_empty() {
+            say("crate name must not be empty");
+        }
+        for c in s.chars() {
+            if c.is_alphanumeric() { continue }
+            if c == '_'  { continue }
+            say(&format!("invalid character `{}` in crate name: `{}`", c, s));
         }
-    };
-    if s.is_empty() {
-        say("crate name must not be empty");
     }
-    for c in s.chars() {
-        if c.is_alphanumeric() { continue }
-        if c == '_'  { continue }
-        say(&format!("invalid character `{}` in crate name: `{}`", c, s));
+
+    if err_count > 0 {
+        sess.unwrap().abort_if_errors();
     }
 }
 
index e30fafda63cb46879f275f4a921b9fc4eb9936f4..c698f72955320b6b033a58967fc82ba2d80dda89 100644 (file)
@@ -3038,7 +3038,7 @@ fn resolve_identifier(&mut self,
                           record_used: bool)
                           -> Option<LocalDef> {
         if identifier.name == special_idents::invalid.name {
-            return Some(LocalDef::from_def(DefErr));
+            return Some(LocalDef::from_def(Def::Err));
         }
 
         // First, check to see whether the name is a primitive type.