From 218caa410aa38c29984be31a5229b9fa717560ee Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:13 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- .../ui/nll/issue-45696-no-variant-box-recur.rs | 47 ---------------------- 1 file changed, 47 deletions(-) delete mode 100644 src/test/ui/nll/issue-45696-no-variant-box-recur.rs (limited to 'src/test/ui/nll/issue-45696-no-variant-box-recur.rs') diff --git a/src/test/ui/nll/issue-45696-no-variant-box-recur.rs b/src/test/ui/nll/issue-45696-no-variant-box-recur.rs deleted file mode 100644 index 39f1607a3..000000000 --- a/src/test/ui/nll/issue-45696-no-variant-box-recur.rs +++ /dev/null @@ -1,47 +0,0 @@ -// rust-lang/rust#45696: This test checks the compiler won't infinite loop when -// you declare a variable of type `struct A(Box, ...);` (which is impossible -// to construct but *is* possible to declare; see also issues #4287, #44933, -// and #52852). - -// run-pass - -// This test has structs and functions that are by definition unusable -// all over the place, so just go ahead and allow dead_code -#![allow(dead_code)] - -// direct regular recursion with indirect ownership via box -struct C { field: Box } - -// direct non-regular recursion with indirect ownership via box -struct D { field: Box<(D, D)> } - -// indirect regular recursion with indirect ownership via box. -struct E { field: F } -struct F { field: Box } - -// indirect non-regular recursion with indirect ownership via box. -struct G { field: (H, H) } -struct H { field: Box } - -// These enums are cases that are not currently hit by the -// `visit_terminator_drop` recursion down a type's structural -// definition. -// -// But it seems prudent to include them in this test as variants on -// the above, in that they are similarly non-constructable data types -// with destructors that would diverge. -enum I { One(Box) } -enum J { One(Box), Two(Box) } - -fn impossible_to_call_c(_c: C) { } -fn impossible_to_call_d(_d: D) { } -fn impossible_to_call_e(_e: E) { } -fn impossible_to_call_f(_f: F) { } -fn impossible_to_call_g(_g: G) { } -fn impossible_to_call_h(_h: H) { } -fn impossible_to_call_i(_i: I) { } -fn impossible_to_call_j(_j: J) { } - -fn main() { - -} -- cgit v1.2.3