]> git.lizzy.rs Git - rust.git/blob - src/test/ui/rfc-2008-non-exhaustive/structs_same_crate.rs
Rollup merge of #94723 - dtolnay:mustuse, r=Mark-Simulacrum
[rust.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 }