summaryrefslogtreecommitdiffstats
path: root/src/test/ui/resolve/associated-fn-called-as-fn.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/resolve/associated-fn-called-as-fn.rs')
-rw-r--r--src/test/ui/resolve/associated-fn-called-as-fn.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/test/ui/resolve/associated-fn-called-as-fn.rs b/src/test/ui/resolve/associated-fn-called-as-fn.rs
new file mode 100644
index 000000000..f31f3d67b
--- /dev/null
+++ b/src/test/ui/resolve/associated-fn-called-as-fn.rs
@@ -0,0 +1,32 @@
+struct S;
+impl Foo for S {
+ fn parse(s:&str) {
+ for c in s.chars() {
+ match c {
+ '0'..='9' => collect_primary(&c), //~ ERROR cannot find function `collect_primary`
+ //~^ HELP you might have meant to call the associated function
+ '+' | '-' => println!("We got a sign: {}", c),
+ _ => println!("Not a number!")
+ }
+ }
+ }
+}
+trait Foo {
+ fn collect_primary(ch:&char) { }
+ fn parse(s:&str);
+}
+trait Bar {
+ fn collect_primary(ch:&char) { }
+ fn parse(s:&str) {
+ for c in s.chars() {
+ match c {
+ '0'..='9' => collect_primary(&c), //~ ERROR cannot find function `collect_primary`
+ //~^ HELP you might have meant to call the associated function
+ '+' | '-' => println!("We got a sign: {}", c),
+ _ => println!("Not a number!")
+ }
+ }
+ }
+}
+
+fn main() {}