rust/tests/ui/error-codes/E0790.stderr
Esteban Küber 2c83c99058 More information for fully-qualified suggestion when there are multiple impls
```
error[E0790]: cannot call associated function on trait without specifying the corresponding `impl` type
  --> $DIR/E0283.rs:30:21
   |
LL |     fn create() -> u32;
   |     ------------------- `Coroutine::create` defined here
...
LL |     let cont: u32 = Coroutine::create();
   |                     ^^^^^^^^^^^^^^^^^^^ cannot call associated function of trait
   |
help: use a fully-qualified path to a specific available implementation
   |
LL |     let cont: u32 = <Impl as Coroutine>::create();
   |                     ++++++++          +
LL |     let cont: u32 = <AnotherImpl as Coroutine>::create();
   |                     +++++++++++++++          +
```
2024-08-02 03:22:56 +00:00

76 lines
2.7 KiB
Plaintext

error[E0790]: cannot call associated function on trait without specifying the corresponding `impl` type
--> $DIR/E0790.rs:17:9
|
LL | fn my_fn();
| ----------- `MyTrait::my_fn` defined here
...
LL | MyTrait::my_fn();
| ^^^^^^^^^^^^^^^^ cannot call associated function of trait
|
help: use the fully-qualified path to the only available implementation
|
LL | <MyStruct as MyTrait>::my_fn();
| ++++++++++++ +
error[E0790]: cannot refer to the associated constant on trait without specifying the corresponding `impl` type
--> $DIR/E0790.rs:21:17
|
LL | const MY_ASSOC_CONST: ();
| ------------------------- `MyTrait::MY_ASSOC_CONST` defined here
...
LL | let _ = MyTrait::MY_ASSOC_CONST;
| ^^^^^^^^^^^^^^^^^^^^^^^ cannot refer to the associated constant of trait
|
help: use the fully-qualified path to the only available implementation
|
LL | let _ = <MyStruct as MyTrait>::MY_ASSOC_CONST;
| ++++++++++++ +
error[E0790]: cannot call associated function on trait without specifying the corresponding `impl` type
--> $DIR/E0790.rs:26:5
|
LL | fn my_fn();
| ----------- `MyTrait::my_fn` defined here
...
LL | inner::MyTrait::my_fn();
| ^^^^^^^^^^^^^^^^^^^^^^^ cannot call associated function of trait
|
help: use the fully-qualified path to the only available implementation
|
LL | <MyStruct as inner::MyTrait>::my_fn();
| ++++++++++++ +
error[E0790]: cannot refer to the associated constant on trait without specifying the corresponding `impl` type
--> $DIR/E0790.rs:30:13
|
LL | const MY_ASSOC_CONST: ();
| ------------------------- `MyTrait::MY_ASSOC_CONST` defined here
...
LL | let _ = inner::MyTrait::MY_ASSOC_CONST;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot refer to the associated constant of trait
|
help: use the fully-qualified path to the only available implementation
|
LL | let _ = <MyStruct as inner::MyTrait>::MY_ASSOC_CONST;
| ++++++++++++ +
error[E0790]: cannot call associated function on trait without specifying the corresponding `impl` type
--> $DIR/E0790.rs:50:5
|
LL | fn my_fn();
| ----------- `MyTrait2::my_fn` defined here
...
LL | MyTrait2::my_fn();
| ^^^^^^^^^^^^^^^^^ cannot call associated function of trait
|
help: use a fully-qualified path to one of the available implementations
|
LL | <Impl1 as MyTrait2>::my_fn();
| +++++++++ +
LL | <Impl2 as MyTrait2>::my_fn();
| +++++++++ +
error: aborting due to 5 previous errors
For more information about this error, try `rustc --explain E0790`.