summaryrefslogtreecommitdiffstats
path: root/tests/ui/traits/new-solver/specialization-unconstrained.rs
blob: 7fd753109be2d21721e3107942d79a6f3de6f4ce (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: -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 {
   default type Id = T; //~ ERROR type annotations needed
}

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

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