File tree Expand file tree Collapse file tree 2 files changed +20
-5
lines changed Expand file tree Collapse file tree 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> {
377377
378378 #[ inline]
379379 fn last ( self ) -> Option < A > {
380- Some ( self . end )
380+ if self . start <= self . end {
381+ Some ( self . end )
382+ } else { None }
381383 }
382384
383385 #[ inline]
384386 fn min ( self ) -> Option < A > {
385- Some ( self . start )
387+ if self . start <= self . end {
388+ Some ( self . start )
389+ } else { None }
386390 }
387391
388392 #[ inline]
389393 fn max ( self ) -> Option < A > {
390- Some ( self . end )
394+ if self . start <= self . end {
395+ Some ( self . end )
396+ } else { None }
391397 }
392398}
393399
Original file line number Diff line number Diff line change @@ -1360,21 +1360,30 @@ fn test_range_max() {
13601360}
13611361
13621362#[ test]
1363- fn test_range_inc_last_max ( ) {
1363+ fn test_range_inclusive_last_max ( ) {
13641364 assert_eq ! ( ( 0 ..=20 ) . last( ) , Some ( 20 ) ) ;
13651365 assert_eq ! ( ( -20 ..=0 ) . last( ) , Some ( 0 ) ) ;
13661366 assert_eq ! ( ( 5 ..=5 ) . last( ) , Some ( 5 ) ) ;
1367+ let mut r = 10 ..=10 ;
1368+ r. next ( ) ;
1369+ assert_eq ! ( r. last( ) , None ) ;
13671370
13681371 assert_eq ! ( ( 0 ..=20 ) . max( ) , Some ( 20 ) ) ;
13691372 assert_eq ! ( ( -20 ..=0 ) . max( ) , Some ( 0 ) ) ;
13701373 assert_eq ! ( ( 5 ..=5 ) . max( ) , Some ( 5 ) ) ;
1374+ let mut r = 10 ..=10 ;
1375+ r. next ( ) ;
1376+ assert_eq ! ( r. max( ) , None ) ;
13711377}
13721378
13731379#[ test]
1374- fn test_range_inc_min ( ) {
1380+ fn test_range_inclusive_min ( ) {
13751381 assert_eq ! ( ( 0 ..=20 ) . min( ) , Some ( 0 ) ) ;
13761382 assert_eq ! ( ( -20 ..=0 ) . min( ) , Some ( -20 ) ) ;
13771383 assert_eq ! ( ( 5 ..=5 ) . min( ) , Some ( 5 ) ) ;
1384+ let mut r = 10 ..=10 ;
1385+ r. next ( ) ;
1386+ assert_eq ! ( r. min( ) , None ) ;
13781387}
13791388
13801389#[ test]
You can’t perform that action at this time.
0 commit comments