Skip to content

Commit 2681fa9

Browse files
authored
Rollup merge of rust-lang#104771 - est31:if_let_chain_broken_mir_test, r=davidtwco
Add regression test for issue rust-lang#99938 That issue was a dupe of rust-lang#99852, and it got fixed since, but it's always better to have multiple regression tests rather than one. closes rust-lang#99938
2 parents ab75479 + 9abd785 commit 2681fa9

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+
// compile-flags: -Zvalidate-mir -C opt-level=3
2+
// build-pass
3+
#![feature(let_chains)]
4+
struct TupleIter<T, I: Iterator<Item = T>> {
5+
inner: I,
6+
}
7+
8+
impl<T, I: Iterator<Item = T>> Iterator for TupleIter<T, I> {
9+
type Item = (T, T, T);
10+
11+
fn next(&mut self) -> Option<Self::Item> {
12+
let inner = &mut self.inner;
13+
14+
if let Some(first) = inner.next()
15+
&& let Some(second) = inner.next()
16+
&& let Some(third) = inner.next()
17+
{
18+
Some((first, second, third))
19+
} else {
20+
None
21+
}
22+
}
23+
}
24+
25+
fn main() {
26+
let vec: Vec<u8> = Vec::new();
27+
let mut tup_iter = TupleIter {
28+
inner: vec.into_iter(),
29+
};
30+
tup_iter.next();
31+
}

0 commit comments

Comments
 (0)