I think I found why range_step_inclusive doesn't work in this case with uints. It's because if you use a uint for start and stop, the compiler will infer the step to be a uint too. Assigning -1 to a uint works, but -1 becomes 4294967295..
See below:
```
fn main() {
    let a:uint=-1;  
    println!("{}",a); // prints 4294967295
}
```

Not really a bug, although it was certainly unexpected behavior for me... Maybe there should be a compiler warning?