error[E0034]: multiple applicable items in scope
  --> $DIR/no-common-ancestor-2.rs:35:8
   |
LL |     ().hello();
   |        ^^^^^ multiple `hello` found
   |
note: candidate #1 is defined in an impl of the trait `A` for the type `T`
  --> $DIR/no-common-ancestor-2.rs:4:5
   |
LL |     fn hello(&self) {
   |     ^^^^^^^^^^^^^^^
note: candidate #2 is defined in an impl of the trait `B` for the type `T`
  --> $DIR/no-common-ancestor-2.rs:11:5
   |
LL |     fn hello(&self) {
   |     ^^^^^^^^^^^^^^^
note: candidate #3 is defined in an impl of the trait `C` for the type `T`
  --> $DIR/no-common-ancestor-2.rs:18:5
   |
LL |     fn hello(&self) {
   |     ^^^^^^^^^^^^^^^
note: candidate #4 is defined in an impl of the trait `D` for the type `T`
  --> $DIR/no-common-ancestor-2.rs:28:5
   |
LL |     fn hello(&self) {
   |     ^^^^^^^^^^^^^^^
help: disambiguate the method for candidate #1
   |
LL -     ().hello();
LL +     A::hello(&());
   |
help: disambiguate the method for candidate #2
   |
LL -     ().hello();
LL +     B::hello(&());
   |
help: disambiguate the method for candidate #3
   |
LL -     ().hello();
LL +     C::hello(&());
   |
help: disambiguate the method for candidate #4
   |
LL -     ().hello();
LL +     D::hello(&());
   |

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0034`.
