// check-pass #![feature(inherent_associated_types)] #![allow(incomplete_features)] struct S(T); impl S { type P = T; } fn main() { type A = S<()>::P; let _: A = (); }