Range syntax doesn't work with non-literal endpoints. It seems that the parser tries to parse a structure definition or instantiation. I don't know if this is known and just not completely implemented yet, but I figured I'd give the heads up. ``` rust fn main() { let x = 10; for z in 0u..x { println!("{}", z); } } ``` > <anon>:5:12: 5:13 error: expected `:`, found `!` > <anon>:5 println!("{}", z); [playpen](http://is.gd/Wl135z)