| // regression test for #73299. | |
| #![feature(specialization)] //~ WARN the feature `specialization` is incomplete | |
| trait X { | |
| type U; | |
| fn f(&self) -> Self::U { | |
| loop {} | |
| } | |
| } | |
| impl<T> X for T { | |
| default type U = (); | |
| } | |
| trait Y { | |
| fn g(&self) {} | |
| } | |
| impl Y for <() as X>::U {} | |
| impl Y for <i32 as X>::U {} | |
| //~^ ERROR conflicting implementations of trait `Y` for type `<() as X>::U` | |
| fn main() { | |
| ().f().g(); | |
| } |