3 // rust-lang/rust#55552: The strategy pnkfelix landed in PR #55274
4 // (for ensuring that NLL respects user-provided lifetime annotations)
5 // did not handle the case where the ascribed type has some expliit
6 // wildcards (`_`) mixed in, and it caused an internal compiler error
9 // This test is just checking that we do not ICE when such things
16 struct Pair { x: X, y: Y }
18 pub fn join<A, B, RA, RB>(oper_a: A, oper_b: B) -> (RA, RB)
19 where A: FnOnce() -> RA + Send,
20 B: FnOnce() -> RB + Send,
28 let ((_x, _y), _z): (_, Z) = join(|| (X, Y), || Z);
30 let (Pair { x: _x, y: _y }, Z): (_, Z) = join(|| Pair { x: X, y: Y }, || Z);