]> git.lizzy.rs Git - rust.git/blob - src/test/ui/destructuring-assignment/struct_destructure.rs
Rollup merge of #89945 - JohnTitor:we-now-specialize-clone-from-slice, r=the8472
[rust.git] / src / test / ui / destructuring-assignment / struct_destructure.rs
1 // run-pass
2
3 #![feature(destructuring_assignment)]
4 struct Struct<S, T> {
5     a: S,
6     b: T,
7 }
8
9 fn main() {
10     let (mut a, mut b);
11     Struct { a, b } = Struct { a: 0, b: 1 };
12     assert_eq!((a, b), (0, 1));
13     Struct { a: b, b: a }  = Struct { a: 1, b: 2 };
14     assert_eq!((a,b), (2, 1));
15     Struct { a: _, b } = Struct { a: 1, b: 2 };
16     assert_eq!((a, b), (2, 2));
17     Struct { a, .. } = Struct { a: 1, b: 3 };
18     assert_eq!((a, b), (1, 2));
19     Struct { .. } = Struct { a: 1, b: 4 };
20     assert_eq!((a, b), (1, 2));
21 }