error[E0223]: ambiguous associated type --> $DIR/disambiguate-multiple-blanket-impl.rs:36:12 | LL | let _: S::Type; | ^^^^^^^ | help: use fully-qualified syntax | LL | let _: ::Type; | ~~~~~~~~~~~~~~ LL | let _: ::Type; | ~~~~~~~~~~~~~~ error[E0034]: multiple applicable items in scope --> $DIR/disambiguate-multiple-blanket-impl.rs:30:8 | LL | S::foo(&s); | ^^^ multiple `foo` found | note: candidate #1 is defined in an impl of the trait `A` for the type `T` --> $DIR/disambiguate-multiple-blanket-impl.rs:19:5 | LL | fn foo(&self) {} | ^^^^^^^^^^^^^ note: candidate #2 is defined in an impl of the trait `B` for the type `T` --> $DIR/disambiguate-multiple-blanket-impl.rs:25: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-blanket-impl.rs:33:8 | LL | S::CONST; | ^^^^^ multiple `CONST` found | note: candidate #1 is defined in an impl of the trait `A` for the type `T` --> $DIR/disambiguate-multiple-blanket-impl.rs:18:5 | LL | const CONST: usize = 1; | ^^^^^^^^^^^^^^^^^^ note: candidate #2 is defined in an impl of the trait `B` for the type `T` --> $DIR/disambiguate-multiple-blanket-impl.rs:24:5 | LL | const CONST: usize = 2; | ^^^^^^^^^^^^^^^^^^ help: use fully-qualified syntax to disambiguate | LL | ::CONST; | ~~~~~~~~~~ LL | ::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`.