@@ -107,7 +107,8 @@ fn test_insert() {
107107 let cap = tester. capacity ( ) ;
108108
109109 // len is the length *after* insertion
110- for len in 1 ..cap {
110+ let minlen = if cfg ! ( miri) { cap - 1 } else { 1 } ; // Miri is too slow
111+ for len in minlen..cap {
111112 // 0, 1, 2, .., len - 1
112113 let expected = ( 0 ..) . take ( len) . collect :: < VecDeque < _ > > ( ) ;
113114 for tail_pos in 0 ..cap {
@@ -221,7 +222,8 @@ fn test_remove() {
221222 let cap = tester. capacity ( ) ;
222223
223224 // len is the length *after* removal
224- for len in 0 ..cap - 1 {
225+ let minlen = if cfg ! ( miri) { cap - 2 } else { 0 } ; // Miri is too slow
226+ for len in minlen..cap - 1 {
225227 // 0, 1, 2, .., len - 1
226228 let expected = ( 0 ..) . take ( len) . collect :: < VecDeque < _ > > ( ) ;
227229 for tail_pos in 0 ..cap {
@@ -251,7 +253,8 @@ fn test_range() {
251253 let mut tester: VecDeque < usize > = VecDeque :: with_capacity ( 7 ) ;
252254
253255 let cap = tester. capacity ( ) ;
254- for len in 0 ..=cap {
256+ let minlen = if cfg ! ( miri) { cap - 1 } else { 0 } ; // Miri is too slow
257+ for len in minlen..=cap {
255258 for tail in 0 ..=cap {
256259 for start in 0 ..=len {
257260 for end in start..=len {
@@ -384,7 +387,8 @@ fn test_split_off() {
384387 let cap = tester. capacity ( ) ;
385388
386389 // len is the length *before* splitting
387- for len in 0 ..cap {
390+ let minlen = if cfg ! ( miri) { cap - 1 } else { 0 } ; // Miri is too slow
391+ for len in minlen..cap {
388392 // index to split at
389393 for at in 0 ..=len {
390394 // 0, 1, 2, .., at - 1 (may be empty)
@@ -495,8 +499,9 @@ fn test_vec_from_vecdeque() {
495499fn test_clone_from ( ) {
496500 let m = vec ! [ 1 ; 8 ] ;
497501 let n = vec ! [ 2 ; 12 ] ;
498- for pfv in 0 ..8 {
499- for pfu in 0 ..8 {
502+ let limit = if cfg ! ( miri) { 4 } else { 8 } ; // Miri is too slow
503+ for pfv in 0 ..limit {
504+ for pfu in 0 ..limit {
500505 for longer in 0 ..2 {
501506 let ( vr, ur) = if longer == 0 { ( & m, & n) } else { ( & n, & m) } ;
502507 let mut v = VecDeque :: from ( vr. clone ( ) ) ;
0 commit comments