diff options
Diffstat (limited to 'tests/ui/closures/2229_closure_analysis/issue-92724-needsdrop-query-cycle.rs')
-rw-r--r-- | tests/ui/closures/2229_closure_analysis/issue-92724-needsdrop-query-cycle.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/ui/closures/2229_closure_analysis/issue-92724-needsdrop-query-cycle.rs b/tests/ui/closures/2229_closure_analysis/issue-92724-needsdrop-query-cycle.rs new file mode 100644 index 000000000..a3b17755f --- /dev/null +++ b/tests/ui/closures/2229_closure_analysis/issue-92724-needsdrop-query-cycle.rs @@ -0,0 +1,14 @@ +// ICEs if checking if there is a significant destructor causes a query cycle +// check-pass + +#![warn(rust_2021_incompatible_closure_captures)] +pub struct Foo(Bar); +pub struct Bar(Baz); +pub struct Baz(Vec<Foo>); + +impl Foo { + pub fn baz(self, v: Baz) -> Baz { + (|| v)() + } +} +fn main() {} |