summaryrefslogtreecommitdiffstats
path: root/src/test/ui/empty/empty-struct-braces-expr.rs
blob: f4144277f16bee48d3b60925152847308c0ccf11 (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
// Can't use empty braced struct as constant or constructor function

// aux-build:empty-struct.rs

extern crate empty_struct;
use empty_struct::*;

struct Empty1 {}

enum E {
    Empty3 {}
}

fn main() {
    let e1 = Empty1; //~ ERROR expected value, found struct `Empty1`
    let e1 = Empty1();
    //~^ ERROR expected function, tuple struct or tuple variant, found struct `Empty1`
    let e3 = E::Empty3; //~ ERROR expected value, found struct variant `E::Empty3`
    let e3 = E::Empty3();
    //~^ ERROR expected function, tuple struct or tuple variant, found struct variant `E::Empty3`

    let xe1 = XEmpty1; //~ ERROR expected value, found struct `XEmpty1`
    let xe1 = XEmpty1();
    //~^ ERROR expected function, tuple struct or tuple variant, found struct `XEmpty1`
    let xe3 = XE::Empty3; //~ ERROR no variant or associated item named `Empty3` found for enum
    let xe3 = XE::Empty3(); //~ ERROR no variant or associated item named `Empty3` found for enum

    XE::Empty1 {}; //~ ERROR no variant named `Empty1` found for enum `empty_struct::XE`
}