error[E0119]: conflicting implementations of trait `Foo` for type `()` --> $DIR/incoherent-even-though-we-fulfill.rs:15:1 | LL | impl Foo for T where (): Mirror {} | --------------------------------------------- first implementation here LL | LL | impl Foo for T where T: Iterator {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `()` | = note: upstream crates may add a new impl of trait `std::iter::Iterator` for type `()` in future versions error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0119`.