summaryrefslogtreecommitdiffstats
path: root/src/test/ui/functions-closures/fn-help-with-err.rs
blob: 49a514a8b4e3461007e609d85d42a5522cdb4a81 (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
// This test case checks the behavior of typeck::check::method::suggest::is_fn on Ty::Error.

struct Foo;

trait Bar {
    //~^ NOTE `Bar` defines an item `bar`, perhaps you need to implement it
    //~| NOTE `Bar` defines an item `bar`, perhaps you need to implement it
    fn bar(&self) {}
}

impl Bar for Foo {}

fn main() {
    let arc = std::sync::Arc::new(oops);
    //~^ ERROR cannot find value `oops` in this scope
    //~| NOTE not found
    arc.bar();
    //~^ ERROR no method named `bar`
    //~| NOTE method not found
    //~| HELP items from traits can only be used if the trait is implemented and in scope

    let arc2 = std::sync::Arc::new(|| Foo);
    arc2.bar();
    //~^ ERROR no method named `bar`
    //~| NOTE method not found
    //~| HELP items from traits can only be used if the trait is implemented and in scope
    //~| HELP use parentheses to call this closure
}