diff options
Diffstat (limited to 'src/test/ui/borrowck/issue-55552-ascribe-wildcard-to-structured-pattern.rs')
-rw-r--r-- | src/test/ui/borrowck/issue-55552-ascribe-wildcard-to-structured-pattern.rs | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/src/test/ui/borrowck/issue-55552-ascribe-wildcard-to-structured-pattern.rs b/src/test/ui/borrowck/issue-55552-ascribe-wildcard-to-structured-pattern.rs deleted file mode 100644 index b87ef3baa..000000000 --- a/src/test/ui/borrowck/issue-55552-ascribe-wildcard-to-structured-pattern.rs +++ /dev/null @@ -1,31 +0,0 @@ -// check-pass - -// rust-lang/rust#55552: The strategy pnkfelix landed in PR #55274 -// (for ensuring that NLL respects user-provided lifetime annotations) -// did not handle the case where the ascribed type has some expliit -// wildcards (`_`) mixed in, and it caused an internal compiler error -// (ICE). -// -// This test is just checking that we do not ICE when such things -// occur. - -struct X; -struct Y; -struct Z; - -struct Pair { x: X, y: Y } - -pub fn join<A, B, RA, RB>(oper_a: A, oper_b: B) -> (RA, RB) -where A: FnOnce() -> RA + Send, - B: FnOnce() -> RB + Send, - RA: Send, - RB: Send -{ - (oper_a(), oper_b()) -} - -fn main() { - let ((_x, _y), _z): (_, Z) = join(|| (X, Y), || Z); - - let (Pair { x: _x, y: _y }, Z): (_, Z) = join(|| Pair { x: X, y: Y }, || Z); -} |