File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change 1
1
//@compile-flags: -Zmiri-strict-provenance
2
+ #![ feature( iter_advance_by, iter_next_chunk) ]
3
+
2
4
// Gather all references from a mutable iterator and make sure Miri notices if
3
5
// using them is dangerous.
4
6
fn test_all_refs < ' a , T : ' a > ( dummy : & mut T , iter : impl Iterator < Item = & ' a mut T > ) {
@@ -44,6 +46,18 @@ fn vec_into_iter_zst() {
44
46
for _ in vec ! [ [ 0u64 ; 0 ] ] . into_iter ( ) { }
45
47
let v = vec ! [ [ 0u64 ; 0 ] , [ 0u64 ; 0 ] ] . into_iter ( ) . map ( |x| x. len ( ) ) . sum :: < usize > ( ) ;
46
48
assert_eq ! ( v, 0 ) ;
49
+
50
+ let mut it = vec ! [ [ 0u64 ; 0 ] , [ 0u64 ; 0 ] ] . into_iter ( ) ;
51
+ it. advance_by ( 1 ) ;
52
+ drop ( it) ;
53
+
54
+ let mut it = vec ! [ [ 0u64 ; 0 ] , [ 0u64 ; 0 ] ] . into_iter ( ) ;
55
+ it. next_chunk :: < 1 > ( ) . unwrap ( ) ;
56
+ drop ( it) ;
57
+
58
+ let mut it = vec ! [ [ 0u64 ; 0 ] , [ 0u64 ; 0 ] ] . into_iter ( ) ;
59
+ it. next_chunk :: < 4 > ( ) . unwrap_err ( ) ;
60
+ drop ( it) ;
47
61
}
48
62
49
63
fn vec_into_iter_rev_zst ( ) {
You can’t perform that action at this time.
0 commit comments