9 fn this_wont_hurt_a_bit(&self) -> &mut Foo {
15 fn ouch(x: &Foo) -> &mut Foo;
19 fn ouch(x: &Foo) -> &mut Foo {
24 fn fail(x: &u32) -> &mut u16 {
28 fn fail_lifetime<'a>(x: &'a u32, y: &mut u32) -> &'a mut u32 {
32 // this is OK, because the result borrows y
33 fn works<'a>(x: &u32, y: &'a mut u32) -> &'a mut u32 {
37 // this is also OK, because the result could borrow y
38 fn also_works<'a>(x: &'a u32, y: &'a mut u32) -> &'a mut u32 {