|
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