]> git.lizzy.rs Git - rust.git/blob - tests/ui/iterators/issue-58952-filter-type-length.rs
Rollup merge of #106661 - mjguzik:linux_statx, r=Mark-Simulacrum
[rust.git] / tests / ui / iterators / issue-58952-filter-type-length.rs
1 // run-pass
2 //! This snippet causes the type length to blowup exponentially,
3 //! so check that we don't accidentally exceed the type length limit.
4 // FIXME: Once the size of iterator adaptors is further reduced,
5 // increase the complexity of this test.
6 use std::collections::VecDeque;
7
8 fn main() {
9     let c = 2;
10     let bv = vec![2];
11     let b = bv
12         .iter()
13         .filter(|a| **a == c);
14
15     let _a = vec![1, 2, 3]
16         .into_iter()
17         .filter(|a| b.clone().any(|b| *b == *a))
18         .filter(|a| b.clone().any(|b| *b == *a))
19         .filter(|a| b.clone().any(|b| *b == *a))
20         .filter(|a| b.clone().any(|b| *b == *a))
21         .filter(|a| b.clone().any(|b| *b == *a))
22         .filter(|a| b.clone().any(|b| *b == *a))
23         .filter(|a| b.clone().any(|b| *b == *a))
24         .filter(|a| b.clone().any(|b| *b == *a))
25         .filter(|a| b.clone().any(|b| *b == *a))
26         .filter(|a| b.clone().any(|b| *b == *a))
27         .filter(|a| b.clone().any(|b| *b == *a))
28         .filter(|a| b.clone().any(|b| *b == *a))
29         .filter(|a| b.clone().any(|b| *b == *a))
30         .filter(|a| b.clone().any(|b| *b == *a))
31         .collect::<VecDeque<_>>();
32 }