about summary refs log tree commit diff
path: root/tests/ui/traits/next-solver/specialization-unconstrained.rs
blob: 6835c0764d6c8ba5c7adfa5fdf023ef042414c98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//@ compile-flags: -Znext-solver

#![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 {
   default type Id = T;
}

fn test<T: Default<Id = U>, U>() {}

fn main() {
    test::<u32, ()>();
    //~^ ERROR type mismatch resolving `<u32 as Default>::Id == ()`
}