about summary refs log tree commit diff
path: root/tests/ui/suggestions/move-generic-to-trait-in-method-with-params.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/suggestions/move-generic-to-trait-in-method-with-params.rs')
-rw-r--r--tests/ui/suggestions/move-generic-to-trait-in-method-with-params.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/ui/suggestions/move-generic-to-trait-in-method-with-params.rs b/tests/ui/suggestions/move-generic-to-trait-in-method-with-params.rs
new file mode 100644
index 00000000000..2f540060a34
--- /dev/null
+++ b/tests/ui/suggestions/move-generic-to-trait-in-method-with-params.rs
@@ -0,0 +1,18 @@
+// Generalizes the suggestion introduced in #100838
+
+trait Foo<T> {
+    fn bar(&self, _: T);
+}
+
+impl Foo<i32> for i32 {
+    fn bar(&self, x: i32) {
+        println!("{}", self + x);
+    }
+}
+
+fn main() {
+    1.bar::<i32>(0);
+    //~^ ERROR this associated function takes 0 generic arguments but 1 generic argument was supplied
+    //~| HELP consider moving this generic argument to the `Foo` trait, which takes up to 1 argument
+    //~| HELP remove these generics
+}