Split non-fixable case to different test

This commit is contained in:
clubby789 2022-09-26 00:33:08 +01:00
parent da588e6df7
commit cef19b80f7
5 changed files with 38 additions and 11 deletions

View File

@ -0,0 +1,11 @@
struct GenericAssocMethod<T>(T);
impl<T> GenericAssocMethod<T> {
fn default_hello() {}
}
fn main() {
let x = GenericAssocMethod(33);
x.default_hello();
//~^ ERROR no method named `default_hello` found
}

View File

@ -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>(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<T>`
--> $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`.

View File

@ -11,9 +11,6 @@ impl<T> GenericAssocMethod<T> {
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);

View File

@ -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();

View File

@ -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>(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>(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<i32>` 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>(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<i32>` 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>(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<i32>` 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>(T);
| ---------------------------- method `self_ty_hello` not found for this struct