about summary refs log tree commit diff
path: root/src/test/ui/parser
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-12-14 10:31:06 +0100
committerGitHub <noreply@github.com>2022-12-14 10:31:06 +0100
commitc8fd654d7ce2ab5a4945cead8a947f923b98f5a5 (patch)
treebc61d05f88a02a97fd297f69a88afe01deb23644 /src/test/ui/parser
parent49b99078b0ea08e37ed006e10f3e0705c63c4560 (diff)
parentb70a869d8f49e87d8432de6af6d209243a7053a4 (diff)
Rollup merge of #105502 - chenyukang:yukang/fix-105366-impl, r=estebank
Suggest impl in the scenario of typo with fn

Fixes #105366
Diffstat (limited to 'src/test/ui/parser')
-rw-r--r--src/test/ui/parser/issue-105366.fixed12
-rw-r--r--src/test/ui/parser/issue-105366.rs12
-rw-r--r--src/test/ui/parser/issue-105366.stderr13
3 files changed, 37 insertions, 0 deletions
diff --git a/src/test/ui/parser/issue-105366.fixed b/src/test/ui/parser/issue-105366.fixed
new file mode 100644
index 00000000000..ad26643c327
--- /dev/null
+++ b/src/test/ui/parser/issue-105366.fixed
@@ -0,0 +1,12 @@
+// run-rustfix
+
+struct Foo;
+
+impl From<i32> for Foo {
+    //~^ ERROR you might have meant to write `impl` instead of `fn`
+    fn from(_a: i32) -> Self {
+        Foo
+    }
+}
+
+fn main() {}
diff --git a/src/test/ui/parser/issue-105366.rs b/src/test/ui/parser/issue-105366.rs
new file mode 100644
index 00000000000..311b6a60f1a
--- /dev/null
+++ b/src/test/ui/parser/issue-105366.rs
@@ -0,0 +1,12 @@
+// run-rustfix
+
+struct Foo;
+
+fn From<i32> for Foo {
+    //~^ ERROR you might have meant to write `impl` instead of `fn`
+    fn from(_a: i32) -> Self {
+        Foo
+    }
+}
+
+fn main() {}
diff --git a/src/test/ui/parser/issue-105366.stderr b/src/test/ui/parser/issue-105366.stderr
new file mode 100644
index 00000000000..0a7408e2c17
--- /dev/null
+++ b/src/test/ui/parser/issue-105366.stderr
@@ -0,0 +1,13 @@
+error: you might have meant to write `impl` instead of `fn`
+  --> $DIR/issue-105366.rs:5:1
+   |
+LL | fn From<i32> for Foo {
+   | ^^
+   |
+help: replace `fn` with `impl` here
+   |
+LL | impl From<i32> for Foo {
+   | ~~~~
+
+error: aborting due to previous error
+