// check-pass
// pretty-expanded FIXME #23616

trait Trait<Input> {
    type Output;

    fn method() -> <Self as Trait<Input>>::Output;
}

impl<T> Trait<T> for () {
    type Output = ();

    fn method() {}
}

fn main() {}
