about summary refs log tree commit diff
path: root/tests/ui/parser/ternary_operator.rs
blob: 08f6a4b2a244f94c937a205c0c639586d514e4e0 (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
fn a() {
    let x = 5 > 2 ? true : false;
    //~^ ERROR Rust has no ternary operator
    //~| HELP use an `if-else` expression instead
}

fn b() {
    let x = 5 > 2 ? { true } : { false };
    //~^ ERROR Rust has no ternary operator
    //~| HELP use an `if-else` expression instead
}

fn c() {
    let x = 5 > 2 ? f32::MAX : f32::MIN;
    //~^ ERROR Rust has no ternary operator
    //~| HELP use an `if-else` expression instead
}

fn bad() {
    // regression test for #117208
    v ? return;
    //~^ ERROR expected one of
}

fn main() {
    let x = 5 > 2 ? { let x = vec![]: Vec<u16>; x } : { false };
    //~^ ERROR Rust has no ternary operator
    //~| HELP use an `if-else` expression instead
    //~| ERROR expected one of `.`, `;`, `?`, `else`, or an operator, found `:`
}

fn expr(a: u64, b: u64) -> u64 {
    a > b ? a : b
    //~^ ERROR Rust has no ternary operator
    //~| HELP use an `if-else` expression instead
}