summaryrefslogtreecommitdiffstats
path: root/tests/ui/functions-closures/fn-help-with-err.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/functions-closures/fn-help-with-err.rs')
-rw-r--r--tests/ui/functions-closures/fn-help-with-err.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/ui/functions-closures/fn-help-with-err.rs b/tests/ui/functions-closures/fn-help-with-err.rs
new file mode 100644
index 000000000..612fe1b84
--- /dev/null
+++ b/tests/ui/functions-closures/fn-help-with-err.rs
@@ -0,0 +1,24 @@
+// 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
+ 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();
+
+ 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
+}