summaryrefslogtreecommitdiffstats
path: root/tests/ui/parser/require-parens-for-chained-comparison.rs
blob: 5b90e905a64a2b55e29659bf54c4666edecd8c3c (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
fn main() {
    false == false == false;
    //~^ ERROR comparison operators cannot be chained
    //~| HELP split the comparison into two

    false == 0 < 2;
    //~^ ERROR comparison operators cannot be chained
    //~| HELP parenthesize the comparison

    f<X>();
    //~^ ERROR comparison operators cannot be chained
    //~| HELP use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments

    f<Result<Option<X>, Option<Option<X>>>(1, 2);
    //~^ ERROR comparison operators cannot be chained
    //~| HELP use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments

    let _ = f<u8, i8>();
    //~^ ERROR expected one of
    //~| HELP use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments

    let _ = f<'_, i8>();
    //~^ ERROR expected one of
    //~| HELP use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
    //~| ERROR expected
    //~| HELP add `'` to close the char literal

    f<'_>();
    //~^ comparison operators cannot be chained
    //~| HELP use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
    //~| ERROR expected
    //~| HELP add `'` to close the char literal

    let _ = f<u8>;
    //~^ ERROR comparison operators cannot be chained
    //~| HELP use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
    //~| HELP or use `(...)` if you meant to specify fn arguments
}