2023-12-14 13:11:28 +01:00
|
|
|
//@ compile-flags: -Znext-solver
|
2023-03-25 23:34:49 +00: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 {
|
2024-05-30 15:07:32 -04:00
|
|
|
default type Id = T;
|
2023-03-25 23:34:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn test<T: Default<Id = U>, U>() {}
|
|
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
|
test::<u32, ()>();
|
2025-04-25 17:59:33 +00:00
|
|
|
//~^ ERROR type mismatch resolving `<u32 as Default>::Id == ()`
|
2023-03-25 23:34:49 +00:00
|
|
|
}
|