//@ check-pass | |
//@ compile-flags: -Znext-solver | |
// regression test for trait-system-refactor-initiative#68 | |
trait Identity { | |
type Assoc: ?Sized; | |
} | |
impl<T: ?Sized> Identity for T { | |
type Assoc = T; | |
} | |
type Id<T> = <T as Identity>::Assoc; | |
type Five<T> = Id<Id<Id<Id<Id<T>>>>>; | |
type Ty<T> = Five<Five<Five<Five<Five<T>>>>>; | |
trait Trait<T> {} | |
impl<T> Trait<T> for Ty<T> {} | |
impl Trait<u32> for Ty<i32> {} | |
fn main() {} |