1 #![feature(type_alias_impl_trait)]
6 let foo: T = Some((1u32, 2u32));
14 #[derive(Copy, Clone)]
15 struct Foo((u32, u32));
18 let foo: T = Foo((1u32, 2u32));
20 let Foo((a, b)) = foo;
26 let foo: T = Some((1u32, 2u32));
36 #[derive(Copy, Clone)]
37 struct Foo((u32, u32));
40 let foo: U = Foo((1u32, 2u32));
41 let Foo((a, b)) = foo;
48 let (mut x, mut y) = foo;
55 fn bar(bar: Option<U>) {
57 Some((mut x, mut y)) => {
66 mod only_pattern_rpit {
67 #[allow(unconditional_recursion)]
68 fn foo(b: bool) -> impl Copy {
69 let (mut x, mut y) = foo(false);
79 fn bar(b: bool) -> Option<impl Copy> {
84 Some((mut x, mut y)) => {