summaryrefslogtreecommitdiffstats
path: root/tests/ui/lint/lint-uppercase-variables.rs
blob: 59dba536f24b61bf5635cad404d4ba8695bbedbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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
    //~^^ ERROR `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
    //~^^ ERROR `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
    //~^^ ERROR `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 };
}