2023-02-10 08:46:08 -06:00
|
|
|
// check-pass
|
2023-12-14 06:11:28 -06:00
|
|
|
// compile-flags: -Znext-solver
|
2023-02-10 08:46:08 -06:00
|
|
|
|
|
|
|
// test that the new solver can handle `alias-eq(<i32 as TraitB>::Assoc, u32)`
|
|
|
|
|
|
|
|
trait TraitA {}
|
|
|
|
|
|
|
|
trait TraitB {
|
|
|
|
type Assoc;
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<T: TraitB> TraitA for (T, T::Assoc) {}
|
|
|
|
|
|
|
|
impl TraitB for i32 {
|
|
|
|
type Assoc = u32;
|
|
|
|
}
|
|
|
|
|
|
|
|
fn needs_a<T: TraitA>() {}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
needs_a::<(i32, u32)>();
|
|
|
|
}
|