@@ -222,7 +222,17 @@ impl<V: Ord> Range<V> {
222
222
I : Iterator < Item = & ' s V > + ' s ,
223
223
V : ' s ,
224
224
{
225
+ #[ cfg( debug_assertions) ]
226
+ let mut last: Option < & V > = None ;
225
227
versions. scan ( 0 , move |i, v| {
228
+ #[ cfg( debug_assertions) ]
229
+ {
230
+ assert ! (
231
+ last <= Some ( v) ,
232
+ "`contains_many` `versions` argument incorrectly sorted"
233
+ ) ;
234
+ last = Some ( v) ;
235
+ }
226
236
while let Some ( segment) = self . segments . get ( * i) {
227
237
match within_bounds ( v, segment) {
228
238
Ordering :: Less => return Some ( false ) ,
@@ -430,8 +440,18 @@ impl<V: Ord + Clone> Range<V> {
430
440
I : Iterator < Item = & ' v V > + ' v ,
431
441
V : ' v ,
432
442
{
443
+ #[ cfg( debug_assertions) ]
444
+ let mut last: Option < & V > = None ;
433
445
// Return the segment index in the range for each version in the range, None otherwise
434
446
let version_locations = versions. scan ( 0 , move |i, v| {
447
+ #[ cfg( debug_assertions) ]
448
+ {
449
+ assert ! (
450
+ last <= Some ( v) ,
451
+ "`simplify` `versions` argument incorrectly sorted"
452
+ ) ;
453
+ last = Some ( v) ;
454
+ }
435
455
while let Some ( segment) = self . segments . get ( * i) {
436
456
match within_bounds ( v, segment) {
437
457
Ordering :: Less => return Some ( None ) ,
0 commit comments