Skip to content

Commit 618a3b0

Browse files
More collect and apply
1 parent d76fe15 commit 618a3b0

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed

compiler/rustc_type_ir/src/interner.rs

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,51 @@ impl<T, R> CollectAndApply<T, R> for T {
402402
assert!(iter.next().is_none());
403403
f(&[t0, t1])
404404
}
405+
(3, Some(3)) => {
406+
let t0 = iter.next().unwrap();
407+
let t1 = iter.next().unwrap();
408+
let t2 = iter.next().unwrap();
409+
assert!(iter.next().is_none());
410+
f(&[t0, t1, t2])
411+
}
412+
(4, Some(4)) => {
413+
let t0 = iter.next().unwrap();
414+
let t1 = iter.next().unwrap();
415+
let t2 = iter.next().unwrap();
416+
let t3 = iter.next().unwrap();
417+
assert!(iter.next().is_none());
418+
f(&[t0, t1, t2, t3])
419+
}
420+
(5, Some(5)) => {
421+
let t0 = iter.next().unwrap();
422+
let t1 = iter.next().unwrap();
423+
let t2 = iter.next().unwrap();
424+
let t3 = iter.next().unwrap();
425+
let t4 = iter.next().unwrap();
426+
assert!(iter.next().is_none());
427+
f(&[t0, t1, t2, t3, t4])
428+
}
429+
(6, Some(6)) => {
430+
let t0 = iter.next().unwrap();
431+
let t1 = iter.next().unwrap();
432+
let t2 = iter.next().unwrap();
433+
let t3 = iter.next().unwrap();
434+
let t4 = iter.next().unwrap();
435+
let t5 = iter.next().unwrap();
436+
assert!(iter.next().is_none());
437+
f(&[t0, t1, t2, t3, t4, t5])
438+
}
439+
(7, Some(7)) => {
440+
let t0 = iter.next().unwrap();
441+
let t1 = iter.next().unwrap();
442+
let t2 = iter.next().unwrap();
443+
let t3 = iter.next().unwrap();
444+
let t4 = iter.next().unwrap();
445+
let t5 = iter.next().unwrap();
446+
let t6 = iter.next().unwrap();
447+
assert!(iter.next().is_none());
448+
f(&[t0, t1, t2, t3, t4, t5, t6])
449+
}
405450
_ => f(&iter.collect::<SmallVec<[_; 8]>>()),
406451
}
407452
}
@@ -440,6 +485,51 @@ impl<T, R, E> CollectAndApply<T, R> for Result<T, E> {
440485
assert!(iter.next().is_none());
441486
f(&[t0, t1])
442487
}
488+
(3, Some(3)) => {
489+
let t0 = iter.next().unwrap()?;
490+
let t1 = iter.next().unwrap()?;
491+
let t2 = iter.next().unwrap()?;
492+
assert!(iter.next().is_none());
493+
f(&[t0, t1, t2])
494+
}
495+
(4, Some(4)) => {
496+
let t0 = iter.next().unwrap()?;
497+
let t1 = iter.next().unwrap()?;
498+
let t2 = iter.next().unwrap()?;
499+
let t3 = iter.next().unwrap()?;
500+
assert!(iter.next().is_none());
501+
f(&[t0, t1, t2, t3])
502+
}
503+
(5, Some(5)) => {
504+
let t0 = iter.next().unwrap()?;
505+
let t1 = iter.next().unwrap()?;
506+
let t2 = iter.next().unwrap()?;
507+
let t3 = iter.next().unwrap()?;
508+
let t4 = iter.next().unwrap()?;
509+
assert!(iter.next().is_none());
510+
f(&[t0, t1, t2, t3, t4])
511+
}
512+
(6, Some(6)) => {
513+
let t0 = iter.next().unwrap()?;
514+
let t1 = iter.next().unwrap()?;
515+
let t2 = iter.next().unwrap()?;
516+
let t3 = iter.next().unwrap()?;
517+
let t4 = iter.next().unwrap()?;
518+
let t5 = iter.next().unwrap()?;
519+
assert!(iter.next().is_none());
520+
f(&[t0, t1, t2, t3, t4, t5])
521+
}
522+
(7, Some(7)) => {
523+
let t0 = iter.next().unwrap()?;
524+
let t1 = iter.next().unwrap()?;
525+
let t2 = iter.next().unwrap()?;
526+
let t3 = iter.next().unwrap()?;
527+
let t4 = iter.next().unwrap()?;
528+
let t5 = iter.next().unwrap()?;
529+
let t6 = iter.next().unwrap()?;
530+
assert!(iter.next().is_none());
531+
f(&[t0, t1, t2, t3, t4, t5, t6])
532+
}
443533
_ => f(&iter.collect::<Result<SmallVec<[_; 8]>, _>>()?),
444534
})
445535
}

0 commit comments

Comments
 (0)