The compiler accepts this code when it definitely shouldn't ``` rust fn foo() { let mut a = ~[]; let push = |b: &mut ~[int]| { a.push(b[0]); }; push(&mut a); } ``` cc @nikomatsakis Nominating (although this is probably a dupe of an existing issue).