| // Copyright 2014 The Rust Project Developers. See the COPYRIGHT | 
 | // file at the top-level directory of this distribution and at | 
 | // http://rust-lang.org/COPYRIGHT. | 
 | // | 
 | // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or | 
 | // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | 
 | // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your | 
 | // option. This file may not be copied, modified, or distributed | 
 | // except according to those terms. | 
 |  | 
 | fn main() { | 
 |     let foo = &mut 1; | 
 |  | 
 |     // (separate lines to ensure the spans are accurate) | 
 |  | 
 |      let &_ //~  ERROR mismatched types | 
 |             //~| expected type `&mut {integer}` | 
 |             //~| found type `&_` | 
 |             //~| types differ in mutability | 
 |         = foo; | 
 |     let &mut _ = foo; | 
 |  | 
 |     let bar = &1; | 
 |     let &_ = bar; | 
 |     let &mut _ //~  ERROR mismatched types | 
 |                //~| expected type `&{integer}` | 
 |                //~| found type `&mut _` | 
 |                //~| types differ in mutability | 
 |          = bar; | 
 | } |