blob: 4172120770c6d2a65794a6b1d365bfb50382f4ca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
error[E0223]: ambiguous associated type
--> $DIR/disambiguate-multiple-impl.rs:32:12
|
LL | let _: S::Type = ();
| ^^^^^^^
|
help: use fully-qualified syntax
|
LL | let _: <S as A>::Type = ();
| ~~~~~~~~~~~~~~
LL | let _: <S as B>::Type = ();
| ~~~~~~~~~~~~~~
error[E0034]: multiple applicable items in scope
--> $DIR/disambiguate-multiple-impl.rs:29:8
|
LL | S::foo(&s);
| ^^^ multiple `foo` found
|
note: candidate #1 is defined in an impl of the trait `A` for the type `S`
--> $DIR/disambiguate-multiple-impl.rs:18:5
|
LL | fn foo(&self) {}
| ^^^^^^^^^^^^^
note: candidate #2 is defined in an impl of the trait `B` for the type `S`
--> $DIR/disambiguate-multiple-impl.rs:24:5
|
LL | fn foo(&self) {}
| ^^^^^^^^^^^^^
help: use fully-qualified syntax to disambiguate
|
LL | A::foo(&s);
| ~~~
LL | B::foo(&s);
| ~~~
error[E0034]: multiple applicable items in scope
--> $DIR/disambiguate-multiple-impl.rs:34:16
|
LL | let _ = S::CONST;
| ^^^^^ multiple `CONST` found
|
note: candidate #1 is defined in an impl of the trait `A` for the type `S`
--> $DIR/disambiguate-multiple-impl.rs:17:5
|
LL | const CONST: usize = 1;
| ^^^^^^^^^^^^^^^^^^
note: candidate #2 is defined in an impl of the trait `B` for the type `S`
--> $DIR/disambiguate-multiple-impl.rs:23:5
|
LL | const CONST: usize = 2;
| ^^^^^^^^^^^^^^^^^^
help: use fully-qualified syntax to disambiguate
|
LL | let _ = <S as A>::CONST;
| ~~~~~~~~~~
LL | let _ = <S as B>::CONST;
| ~~~~~~~~~~
error: aborting due to 3 previous errors
Some errors have detailed explanations: E0034, E0223.
For more information about an error, try `rustc --explain E0034`.
|