summaryrefslogtreecommitdiffstats
path: root/src/test/ui/span/mut-arg-hint.rs
blob: d7ff1f0de4180037810c07f2e5f260d066d9eaa0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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());
}