about summary refs log tree commit diff
path: root/tests/ui/lint/lint-uppercase-variables.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/lint/lint-uppercase-variables.rs')
-rw-r--r--tests/ui/lint/lint-uppercase-variables.rs41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/ui/lint/lint-uppercase-variables.rs b/tests/ui/lint/lint-uppercase-variables.rs
new file mode 100644
index 00000000000..d4e88aa2643
--- /dev/null
+++ b/tests/ui/lint/lint-uppercase-variables.rs
@@ -0,0 +1,41 @@
+#![warn(unused)]
+#![allow(dead_code)]
+#![deny(non_snake_case)]
+
+mod foo {
+    pub enum Foo { Foo }
+}
+
+struct Something {
+    X: usize //~ ERROR structure field `X` should have a snake case name
+}
+
+fn test(Xx: usize) { //~ ERROR variable `Xx` should have a snake case name
+    println!("{}", Xx);
+}
+
+fn main() {
+    let Test: usize = 0; //~ ERROR variable `Test` should have a snake case name
+    println!("{}", Test);
+
+    match foo::Foo::Foo {
+        Foo => {}
+    //~^ ERROR variable `Foo` should have a snake case name
+    //~^^ WARN `Foo` is named the same as one of the variants of the type `foo::Foo`
+    //~^^^ WARN unused variable: `Foo`
+    }
+
+    let Foo = foo::Foo::Foo;
+    //~^ ERROR variable `Foo` should have a snake case name
+    //~^^ WARN `Foo` is named the same as one of the variants of the type `foo::Foo`
+    //~^^^ WARN unused variable: `Foo`
+
+    fn in_param(Foo: foo::Foo) {}
+    //~^ ERROR variable `Foo` should have a snake case name
+    //~^^ WARN `Foo` is named the same as one of the variants of the type `foo::Foo`
+    //~^^^ WARN unused variable: `Foo`
+
+    test(1);
+
+    let _ = Something { X: 0 };
+}