Skip to content

Commit 843ffb8

Browse files
authored
Rollup merge of #71572 - lcnr:type_length, r=Dylan-DPC
test iterator chain type length blowup Adds a regression test. closes #58952 r? @Dylan-DPC
2 parents d9761da + 7d6aef6 commit 843ffb8

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// run-pass
2+
//! This snippet causes the type length to blowup exponentially,
3+
//! so check that we don't accidentially exceed the type length limit.
4+
// FIXME: Once the size of iterator adaptors is further reduced,
5+
// increase the complexity of this test.
6+
7+
fn main() {
8+
let c = 2;
9+
let bv = vec![2];
10+
let b = bv
11+
.iter()
12+
.filter(|a| **a == c);
13+
14+
let _a = vec![1, 2, 3]
15+
.into_iter()
16+
.filter(|a| b.clone().any(|b| *b == *a))
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+
.collect::<Vec<_>>();
31+
}

0 commit comments

Comments
 (0)