# Associated type where clause after its definition

trait Lending { type Item<'a> where Self: 'a; }
impl Lending for () {
  type Item<'a> = &'a () where Self: 'a;
}

==>

SourceFile(
  TraitItem(
    trait,
    TypeIdentifier,
    DeclarationList(
      AssociatedType(
        type,
        TypeIdentifier,
        TypeParamList(Lifetime),
        WhereClause(where, TypeBoundClause(TypeIdentifier, TraitBounds(Lifetime)))))),
  ImplItem(
    impl,
    TypeIdentifier,
    for,
    UnitType,
    DeclarationList(
      TypeItem(
        type,
        TypeIdentifier,
        TypeParamList(Lifetime),
        ReferenceType(Lifetime, UnitType),
        WhereClause(where, TypeBoundClause(TypeIdentifier, TraitBounds(Lifetime)))))))
