| // Check that borrowck ensures that `static mut` items have the expected type. | |
| static FOO: u8 = 42; | |
| static mut BAR: &'static u8 = &FOO; | |
| static mut BAR_ELIDED: &u8 = &FOO; | |
| fn main() { | |
| unsafe { | |
| println!("{} {}", BAR, BAR_ELIDED); | |
| set_bar(); | |
| set_bar_elided(); | |
| println!("{} {}", BAR, BAR_ELIDED); | |
| } | |
| } | |
| fn set_bar() { | |
| let n = 42; | |
| unsafe { | |
| BAR = &n; | |
| //~^ ERROR does not live long enough | |
| } | |
| } | |
| fn set_bar_elided() { | |
| let n = 42; | |
| unsafe { | |
| BAR_ELIDED = &n; | |
| //~^ ERROR does not live long enough | |
| } | |
| } |