]> git.proxmox.com Git - rustc.git/blob - src/test/ui/rfc-2008-non-exhaustive/structs_same_crate.rs
New upstream version 1.40.0+dfsg1
[rustc.git] / src / test / ui / rfc-2008-non-exhaustive / structs_same_crate.rs
1 // run-pass
2
3 #![allow(unused_variables)]
4
5 #[non_exhaustive]
6 pub struct NormalStruct {
7 pub first_field: u16,
8 pub second_field: u16,
9 }
10
11 #[non_exhaustive]
12 pub struct UnitStruct;
13
14 #[non_exhaustive]
15 pub struct TupleStruct (pub u16, pub u16);
16
17 fn main() {
18 let ns = NormalStruct { first_field: 640, second_field: 480 };
19
20 let NormalStruct { first_field, second_field } = ns;
21
22 let ts = TupleStruct { 0: 340, 1: 480 };
23 let ts_constructor = TupleStruct(340, 480);
24
25 let TupleStruct { 0: first, 1: second } = ts;
26 let TupleStruct(first, second) = ts_constructor;
27
28 let us = UnitStruct {};
29 let us_constructor = UnitStruct;
30
31 let UnitStruct { } = us;
32 }