-fn vec_into_iter_zst() -> usize {
- vec![[0u64; 0], [0u64; 0]].into_iter().rev().map(|x| x.len()).sum()
+fn vec_into_iter_zst() {
+ for _ in vec![[0u64; 0]].into_iter() {}
+ let v = vec![[0u64; 0], [0u64; 0]].into_iter().map(|x| x.len()).sum::<usize>();
+ assert_eq!(v, 0);
+
+ let mut it = vec![[0u64; 0], [0u64; 0]].into_iter();
+ it.advance_by(1).unwrap();
+ drop(it);
+
+ let mut it = vec![[0u64; 0], [0u64; 0]].into_iter();
+ it.next_chunk::<1>().unwrap();
+ drop(it);
+
+ let mut it = vec![[0u64; 0], [0u64; 0]].into_iter();
+ it.next_chunk::<4>().unwrap_err();
+ drop(it);