diff --git a/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish-placeholder.rs b/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish-placeholder.rs new file mode 100644 index 00000000000..a39b8711dd8 --- /dev/null +++ b/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish-placeholder.rs @@ -0,0 +1,11 @@ +struct GenericAssocMethod(T); + +impl GenericAssocMethod { + fn default_hello() {} +} + +fn main() { + let x = GenericAssocMethod(33); + x.default_hello(); + //~^ ERROR no method named `default_hello` found +} diff --git a/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish-placeholder.stderr b/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish-placeholder.stderr new file mode 100644 index 00000000000..c247e73b39c --- /dev/null +++ b/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish-placeholder.stderr @@ -0,0 +1,22 @@ +error[E0599]: no method named `default_hello` found for struct `GenericAssocMethod<{integer}>` in the current scope + --> $DIR/suggest-assoc-fn-call-with-turbofish-placeholder.rs:9:7 + | +LL | struct GenericAssocMethod(T); + | ---------------------------- method `default_hello` not found for this struct +... +LL | x.default_hello(); + | --^^^^^^^^^^^^^-- + | | | + | | this is an associated function, not a method + | help: use associated function syntax instead: `GenericAssocMethod::<_>::default_hello()` + | + = note: found the following associated functions; to be used as methods, functions must have a `self` parameter +note: the candidate is defined in an impl for the type `GenericAssocMethod` + --> $DIR/suggest-assoc-fn-call-with-turbofish-placeholder.rs:4:5 + | +LL | fn default_hello() {} + | ^^^^^^^^^^^^^^^^^^ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0599`. diff --git a/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish.fixed b/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish.fixed index 0398c510fea..02dd0715c80 100644 --- a/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish.fixed +++ b/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish.fixed @@ -11,9 +11,6 @@ impl GenericAssocMethod { fn main() { // Test for inferred types let x = GenericAssocMethod(33); - // This particular case is unfixable without more information by the user, - // but `cargo fix --broken-code` reports a bug if - // x.default_hello(); GenericAssocMethod::<_>::self_ty_ref_hello(&x); //~^ ERROR no method named `self_ty_ref_hello` found GenericAssocMethod::<_>::self_ty_hello(x); diff --git a/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish.rs b/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish.rs index 8bafc83bdd0..1d0ca8e780a 100644 --- a/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish.rs +++ b/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish.rs @@ -11,9 +11,6 @@ fn self_ty_ref_hello(_: &Self) {} fn main() { // Test for inferred types let x = GenericAssocMethod(33); - // This particular case is unfixable without more information by the user, - // but `cargo fix --broken-code` reports a bug if - // x.default_hello(); x.self_ty_ref_hello(); //~^ ERROR no method named `self_ty_ref_hello` found x.self_ty_hello(); diff --git a/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish.stderr b/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish.stderr index e2f2d46b9e8..92b03fc7714 100644 --- a/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish.stderr +++ b/src/test/ui/suggestions/suggest-assoc-fn-call-with-turbofish.stderr @@ -1,5 +1,5 @@ error[E0599]: no method named `self_ty_ref_hello` found for struct `GenericAssocMethod<{integer}>` in the current scope - --> $DIR/suggest-assoc-fn-call-with-turbofish.rs:17:7 + --> $DIR/suggest-assoc-fn-call-with-turbofish.rs:14:7 | LL | struct GenericAssocMethod(T); | ---------------------------- method `self_ty_ref_hello` not found for this struct @@ -18,7 +18,7 @@ LL | fn self_ty_ref_hello(_: &Self) {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0599]: no method named `self_ty_hello` found for struct `GenericAssocMethod<{integer}>` in the current scope - --> $DIR/suggest-assoc-fn-call-with-turbofish.rs:19:7 + --> $DIR/suggest-assoc-fn-call-with-turbofish.rs:16:7 | LL | struct GenericAssocMethod(T); | ---------------------------- method `self_ty_hello` not found for this struct @@ -37,7 +37,7 @@ LL | fn self_ty_hello(_: Self) {} | ^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0599]: no method named `default_hello` found for struct `GenericAssocMethod` in the current scope - --> $DIR/suggest-assoc-fn-call-with-turbofish.rs:23:7 + --> $DIR/suggest-assoc-fn-call-with-turbofish.rs:20:7 | LL | struct GenericAssocMethod(T); | ---------------------------- method `default_hello` not found for this struct @@ -56,7 +56,7 @@ LL | fn default_hello() {} | ^^^^^^^^^^^^^^^^^^ error[E0599]: no method named `self_ty_ref_hello` found for struct `GenericAssocMethod` in the current scope - --> $DIR/suggest-assoc-fn-call-with-turbofish.rs:25:7 + --> $DIR/suggest-assoc-fn-call-with-turbofish.rs:22:7 | LL | struct GenericAssocMethod(T); | ---------------------------- method `self_ty_ref_hello` not found for this struct @@ -75,7 +75,7 @@ LL | fn self_ty_ref_hello(_: &Self) {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0599]: no method named `self_ty_hello` found for struct `GenericAssocMethod` in the current scope - --> $DIR/suggest-assoc-fn-call-with-turbofish.rs:27:7 + --> $DIR/suggest-assoc-fn-call-with-turbofish.rs:24:7 | LL | struct GenericAssocMethod(T); | ---------------------------- method `self_ty_hello` not found for this struct