You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
error[E0034]: multiple applicable items in scope
--><anon>:5:5
|
5 |a.foo()
| ^^^ multiple `foo` found
|
note: candidate #1 is defined in the trait `A`
--><anon>:1:11
|
1 | trait A { fn foo(&self) {} }
| ^^^^^^^^^^^^^^^^
note: candidate #2 is defined in the trait `B`
--><anon>:2:15
|
2 | trait B : A { fn foo(&self) {} }
| ^^^^^^^^^^^^^^^^
error: aborting due to previous error
It would be nice if it would tell me what exactly do I need to type in order to choose candidate 1 or candidate 2. In particular, when associated types, Input/Output parameters, ... are involved, the disambiguation syntax can be tricky.
The text was updated successfully, but these errors were encountered:
E0034: provide disambiguated syntax for candidates
For a given file
```rust
trait A { fn foo(&self) {} }
trait B : A { fn foo(&self) {} }
fn bar<T: B>(a: &T) {
a.foo()
}
```
provide the following output
```
error[E0034]: multiple applicable items in scope
--> file.rs:6:5
|
6 | a.foo(1)
| ^^^ multiple `foo` found
|
note: candidate #1 is defined in the trait `A`
--> file.rs:2:11
|
2 | trait A { fn foo(&self, a: usize) {} }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
help: to use it here write `A::foo(&a, 1)` instead
--> file.rs:6:5
|
6 | a.foo(1)
| ^^^
note: candidate #2 is defined in the trait `B`
--> file.rs:3:15
|
3 | trait B : A { fn foo(&self, a: usize) {} }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
help: to use it here write `B::foo(&a, 1)` instead
--> file.rs:6:5
|
6 | a.foo(1)
| ^^^
```
Fix#37767.
Currently, with the following code:
prints the following error message:
It would be nice if it would tell me what exactly do I need to type in order to choose candidate 1 or candidate 2. In particular, when associated types, Input/Output parameters, ... are involved, the disambiguation syntax can be tricky.
The text was updated successfully, but these errors were encountered: