From 673c5554437fe50d8c45f71ad8f97e769591b038 Mon Sep 17 00:00:00 2001 From: Jimmie Elvenmark Date: Sat, 23 Aug 2014 16:03:28 +0200 Subject: [PATCH] librustc: Don't ICE with type when name only contain underscores. --- src/librustc/lint/builtin.rs | 2 +- src/test/compile-fail/lint-non-camel-case-types.rs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/librustc/lint/builtin.rs b/src/librustc/lint/builtin.rs index 80b476401467..1fa4c53832f1 100644 --- a/src/librustc/lint/builtin.rs +++ b/src/librustc/lint/builtin.rs @@ -754,7 +754,7 @@ impl LintPass for NonCamelCaseTypes { // start with a non-lowercase letter rather than non-uppercase // ones (some scripts don't have a concept of upper/lowercase) - !ident.char_at(0).is_lowercase() && !ident.contains_char('_') + ident.len() > 0 && !ident.char_at(0).is_lowercase() && !ident.contains_char('_') } fn to_camel_case(s: &str) -> String { diff --git a/src/test/compile-fail/lint-non-camel-case-types.rs b/src/test/compile-fail/lint-non-camel-case-types.rs index 784930003d04..03a2d63e123e 100644 --- a/src/test/compile-fail/lint-non-camel-case-types.rs +++ b/src/test/compile-fail/lint-non-camel-case-types.rs @@ -37,4 +37,6 @@ struct foo7 { bar: int, } +type __ = int; //~ ERROR type `__` should have a camel case name such as `` + fn main() { }