]> git.lizzy.rs Git - rust.git/blob - src/test/ui/destructuring-assignment/struct_destructure.rs
Auto merge of #106349 - LeSeulArtichaut:dyn-star-tracking-issue, r=jackh726
[rust.git] / src / test / ui / destructuring-assignment / struct_destructure.rs
1 // run-pass
2
3 struct Struct<S, T> {
4     a: S,
5     b: T,
6 }
7
8 fn main() {
9     let (mut a, mut b);
10     Struct { a, b } = Struct { a: 0, b: 1 };
11     assert_eq!((a, b), (0, 1));
12     Struct { a: b, b: a }  = Struct { a: 1, b: 2 };
13     assert_eq!((a,b), (2, 1));
14     Struct { a: _, b } = Struct { a: 1, b: 2 };
15     assert_eq!((a, b), (2, 2));
16     Struct { a, .. } = Struct { a: 1, b: 3 };
17     assert_eq!((a, b), (1, 2));
18     Struct { .. } = Struct { a: 1, b: 4 };
19     assert_eq!((a, b), (1, 2));
20 }