explain Rust range syntax