]> git.proxmox.com Git - rustc.git/blob - src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.rs
New upstream version 1.40.0+dfsg1
[rustc.git] / src / test / ui / type-alias-enum-variants / incorrect-variant-form-through-alias-caught.rs
1 // ignore-tidy-linelength
2
3 // Check that creating/matching on an enum variant through an alias with
4 // the wrong braced/unit form is caught as an error.
5
6 enum Enum { Braced {}, Unit, Tuple() }
7 type Alias = Enum;
8
9 fn main() {
10 Alias::Braced;
11 //~^ ERROR expected unit struct, unit variant or constant, found struct variant `Alias::Braced` [E0533]
12 let Alias::Braced = panic!();
13 //~^ ERROR expected unit struct, unit variant or constant, found struct variant `Alias::Braced` [E0533]
14 let Alias::Braced(..) = panic!();
15 //~^ ERROR expected tuple struct or tuple variant, found struct variant `Alias::Braced` [E0164]
16
17 Alias::Unit();
18 //~^ ERROR expected function, found enum variant `Alias::Unit`
19 let Alias::Unit() = panic!();
20 //~^ ERROR expected tuple struct or tuple variant, found unit variant `Alias::Unit` [E0164]
21 }