| trait B { | |
| fn foo(mut a: &String) { | |
| a.push_str("bar"); //~ ERROR cannot borrow `*a` as mutable, as it is behind a `&` reference | |
| } | |
| } | |
| pub fn foo<'a>(mut a: &'a String) { | |
| a.push_str("foo"); //~ ERROR cannot borrow `*a` as mutable, as it is behind a `&` reference | |
| } | |
| struct A {} | |
| impl A { | |
| pub fn foo(mut a: &String) { | |
| a.push_str("foo"); //~ ERROR cannot borrow `*a` as mutable, as it is behind a `&` reference | |
| } | |
| } | |
| fn main() { | |
| foo(&"a".to_string()); | |
| A::foo(&"a".to_string()); | |
| } |