412a07055c
`uint::range_step` or `int::range_step` causes overflow or underflow as following. code: ```rust fn main() { for uint::range_step(3, 0, -2) |n| { println(fmt!("%u", n)); } } ``` output: ``` 3 1 18446744073709551615 18446744073709551613 ... ``` This commit fixes this behavior as follows. ``` 3 1 ```