Submitted from [reddit](http://www.reddit.com/r/rust/comments/1yjyi0/why_is_this_allowed/). The following code works, and it shouldn't: ``` rust enum Foo { Bar(int) } fn main() { let bar = Bar(1); match bar { Bar(x) => { // shouldn't x be immutable? println!("x = {}" ,x); x += 1; println!("x = {}" ,x); } } } ``` This prints ``` x = 1 x = 2 ```