``` rust fn main() { let n = 2; for x in 0..n { println!("Hello, world!") } } ``` ``` <anon>:5:16: 5:17 error: expected `:`, found `!` <anon>:5 println!("Hello, world!") ^ ``` http://is.gd/pOrPMl Using parentheses fixes the issue: `for x in (0..n) {` Interestingly this works: ``` rust struct Foo { octaves: usize } fn main() { let foo = Foo { octaves: 2 }; for x in 0..foo.octaves { println!("Hello, world!") } } ``` http://is.gd/3Rnvx2 This was encountered [in noise-rs](https://github.com/bjz/noise-rs/blob/1ae720054c3d14c9ea13e55d3592e4cd0b59b4e5/examples/debug/mod.rs#L41-L42). cc. @Amaranth @Cifram