File tree 2 files changed +20
-5
lines changed 2 files changed +20
-5
lines changed Original file line number Diff line number Diff line change @@ -377,17 +377,23 @@ impl<A: Step> Iterator for ops::RangeInclusive<A> {
377
377
378
378
#[ inline]
379
379
fn last ( self ) -> Option < A > {
380
- Some ( self . end )
380
+ if self . start <= self . end {
381
+ Some ( self . end )
382
+ } else { None }
381
383
}
382
384
383
385
#[ inline]
384
386
fn min ( self ) -> Option < A > {
385
- Some ( self . start )
387
+ if self . start <= self . end {
388
+ Some ( self . start )
389
+ } else { None }
386
390
}
387
391
388
392
#[ inline]
389
393
fn max ( self ) -> Option < A > {
390
- Some ( self . end )
394
+ if self . start <= self . end {
395
+ Some ( self . end )
396
+ } else { None }
391
397
}
392
398
}
393
399
Original file line number Diff line number Diff line change @@ -1360,21 +1360,30 @@ fn test_range_max() {
1360
1360
}
1361
1361
1362
1362
#[ test]
1363
- fn test_range_inc_last_max ( ) {
1363
+ fn test_range_inclusive_last_max ( ) {
1364
1364
assert_eq ! ( ( 0 ..=20 ) . last( ) , Some ( 20 ) ) ;
1365
1365
assert_eq ! ( ( -20 ..=0 ) . last( ) , Some ( 0 ) ) ;
1366
1366
assert_eq ! ( ( 5 ..=5 ) . last( ) , Some ( 5 ) ) ;
1367
+ let mut r = 10 ..=10 ;
1368
+ r. next ( ) ;
1369
+ assert_eq ! ( r. last( ) , None ) ;
1367
1370
1368
1371
assert_eq ! ( ( 0 ..=20 ) . max( ) , Some ( 20 ) ) ;
1369
1372
assert_eq ! ( ( -20 ..=0 ) . max( ) , Some ( 0 ) ) ;
1370
1373
assert_eq ! ( ( 5 ..=5 ) . max( ) , Some ( 5 ) ) ;
1374
+ let mut r = 10 ..=10 ;
1375
+ r. next ( ) ;
1376
+ assert_eq ! ( r. max( ) , None ) ;
1371
1377
}
1372
1378
1373
1379
#[ test]
1374
- fn test_range_inc_min ( ) {
1380
+ fn test_range_inclusive_min ( ) {
1375
1381
assert_eq ! ( ( 0 ..=20 ) . min( ) , Some ( 0 ) ) ;
1376
1382
assert_eq ! ( ( -20 ..=0 ) . min( ) , Some ( -20 ) ) ;
1377
1383
assert_eq ! ( ( 5 ..=5 ) . min( ) , Some ( 5 ) ) ;
1384
+ let mut r = 10 ..=10 ;
1385
+ r. next ( ) ;
1386
+ assert_eq ! ( r. min( ) , None ) ;
1378
1387
}
1379
1388
1380
1389
#[ test]
You can’t perform that action at this time.
0 commit comments