Things you can’t do in Rust: type ascription

I love Rust and want it to be better. The dev teams know about all issues presented. I just want to generate discussion and enthusiasm for making a good language better.

fn main() {
let a = 3: u32;
}

Result (compile time error):

error: type ascription is experimental (see issue #23416)
|
2
| let a = 3: u32;
| ^^^^^^
error: aborting due to previous error(s)

Type ascription has an RFC already. It is currently hung on a fight about syntax. This is a fairly important feature, and the community seems to agree that “:” is the favorite syntax; however the parser doesn’t like the lookahead ambiguity and belches. To end this is it necessary to rewrite the parser?