summaryrefslogtreecommitdiffstats
path: root/tests/ui/suggestions/call-on-missing.rs
blob: 25ced84dd3783e4bed2cc6a842d4f1ef55212142 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
struct Foo { i: i32 }

impl Foo {
    fn bar(&self) {}
}

fn foo() -> Foo {
    Foo { i: 1 }
}

fn main() {
    foo.bar();
    //~^ ERROR no method named `bar`
    //~| HELP use parentheses to call this function

    foo.i;
    //~^ ERROR no field `i`
    //~| HELP use parentheses to call this function

    let callable = Box::new(|| Foo { i: 1 }) as Box<dyn Fn() -> Foo>;

    callable.bar();
    //~^ ERROR no method named `bar`
    //~| HELP use parentheses to call this trait object

    callable.i;
    //~^ ERROR no field `i`
    //~| HELP use parentheses to call this trait object
}

fn type_param<T: Fn() -> Foo>(t: T) {
    t.bar();
    //~^ ERROR no method named `bar`
    //~| HELP use parentheses to call this type parameter

    t.i;
    //~^ ERROR no field `i`
    //~| HELP use parentheses to call this type parameter
}