|
1 | 1 | use core::alloc::{Allocator, Layout};
|
| 2 | +use core::assert_eq; |
2 | 3 | use core::iter::IntoIterator;
|
| 4 | +use core::num::NonZeroUsize; |
3 | 5 | use core::ptr::NonNull;
|
4 | 6 | use std::alloc::System;
|
5 | 7 | use std::assert_matches::assert_matches;
|
@@ -1062,21 +1064,21 @@ fn test_into_iter_leak() {
|
1062 | 1064 |
|
1063 | 1065 | #[test]
|
1064 | 1066 | fn test_into_iter_advance_by() {
|
1065 |
| - let mut i = [1, 2, 3, 4, 5].into_iter(); |
1066 |
| - i.advance_by(0).unwrap(); |
1067 |
| - i.advance_back_by(0).unwrap(); |
| 1067 | + let mut i = vec![1, 2, 3, 4, 5].into_iter(); |
| 1068 | + assert_eq!(i.advance_by(0), Ok(())); |
| 1069 | + assert_eq!(i.advance_back_by(0), Ok(())); |
1068 | 1070 | assert_eq!(i.as_slice(), [1, 2, 3, 4, 5]);
|
1069 | 1071 |
|
1070 |
| - i.advance_by(1).unwrap(); |
1071 |
| - i.advance_back_by(1).unwrap(); |
| 1072 | + assert_eq!(i.advance_by(1), Ok(())); |
| 1073 | + assert_eq!(i.advance_back_by(1), Ok(())); |
1072 | 1074 | assert_eq!(i.as_slice(), [2, 3, 4]);
|
1073 | 1075 |
|
1074 |
| - assert_eq!(i.advance_back_by(usize::MAX), Err(3)); |
| 1076 | + assert_eq!(i.advance_back_by(usize::MAX), Err(NonZeroUsize::new(usize::MAX - 3).unwrap())); |
1075 | 1077 |
|
1076 |
| - assert_eq!(i.advance_by(usize::MAX), Err(0)); |
| 1078 | + assert_eq!(i.advance_by(usize::MAX), Err(NonZeroUsize::new(usize::MAX).unwrap())); |
1077 | 1079 |
|
1078 |
| - i.advance_by(0).unwrap(); |
1079 |
| - i.advance_back_by(0).unwrap(); |
| 1080 | + assert_eq!(i.advance_by(0), Ok(())); |
| 1081 | + assert_eq!(i.advance_back_by(0), Ok(())); |
1080 | 1082 |
|
1081 | 1083 | assert_eq!(i.len(), 0);
|
1082 | 1084 | }
|
@@ -1124,7 +1126,7 @@ fn test_into_iter_zst() {
|
1124 | 1126 | for _ in vec![C; 5].into_iter().rev() {}
|
1125 | 1127 |
|
1126 | 1128 | let mut it = vec![C, C].into_iter();
|
1127 |
| - it.advance_by(1).unwrap(); |
| 1129 | + assert_eq!(it.advance_by(1), Ok(())); |
1128 | 1130 | drop(it);
|
1129 | 1131 |
|
1130 | 1132 | let mut it = vec![C, C].into_iter();
|
|
0 commit comments