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);
}
