2023-12-14 06:11:28 -06:00
|
|
|
// compile-flags: -Znext-solver
|
2023-03-25 18:34:49 -05:00
|
|
|
|
|
|
|
#![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-11-03 09:34:08 -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 == ()`
|
|
|
|
}
|