struct Dog { | |
cats_chased: usize, | |
} | |
impl Dog { | |
pub fn chase_cat(&mut self) { | |
let p: &'static mut usize = &mut self.cats_chased; | |
//~^ ERROR lifetime may not live long enough | |
*p += 1; | |
} | |
pub fn chase_cat_2(&mut self) { | |
let p: &mut usize = &mut self.cats_chased; | |
*p += 1; | |
} | |
} | |
fn dog() -> Dog { | |
Dog { | |
cats_chased: 0 | |
} | |
} | |
fn main() { | |
let mut d = dog(); | |
d.chase_cat(); | |
println!("cats_chased: {}", d.cats_chased); | |
} |