2023-03-25 18:34:49 -05:00
|
|
|
// compile-flags: -Ztrait-solver=next
|
|
|
|
|
|
|
|
#![feature(specialization)]
|
|
|
|
//~^ WARN the feature `specialization` is incomplete
|
|
|
|
|
|
|
|
// Do not treat the RHS of a projection-goal as an unconstrained `Certainty::Yes` response
|
|
|
|
// if the impl is still further specializable.
|
|
|
|
|
|
|
|
trait Default {
|
|
|
|
type Id;
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<T> Default for T {
|
2023-06-27 16:13:50 -05:00
|
|
|
default type Id = T; //~ ERROR type annotations needed
|
2023-03-25 18:34:49 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
fn test<T: Default<Id = U>, U>() {}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
test::<u32, ()>();
|
|
|
|
//~^ ERROR cannot satisfy `<u32 as Default>::Id == ()`
|
|
|
|
}
|