FILE
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('A')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('B')
    PsiWhiteSpace(' ')
    RsSuperStructsImpl(SUPER_STRUCTS)
      PsiElement(:)(':')
      PsiWhiteSpace(' ')
      RsPathTypeImpl(PATH_TYPE)
        RsPathImpl(PATH)
          PsiElement(identifier)('A')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('C')
    PsiWhiteSpace(' ')
    RsSuperStructsImpl(SUPER_STRUCTS)
      PsiElement(:)(':')
      PsiWhiteSpace(' ')
      RsPathTypeImpl(PATH_TYPE)
        RsPathImpl(PATH)
          PsiElement(identifier)('A')
      PsiElement(,)(',')
      PsiWhiteSpace(' ')
      RsPathTypeImpl(PATH_TYPE)
        RsPathImpl(PATH)
          PsiElement(identifier)('B')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('D')
    PsiWhiteSpace(' ')
    RsSuperStructsImpl(SUPER_STRUCTS)
      PsiElement(:)(':')
      PsiWhiteSpace(' ')
      RsTraitTypeImpl(TRAIT_TYPE)
        RsPolyboundImpl(POLYBOUND)
          RsBoundImpl(BOUND)
            RsTraitRefImpl(TRAIT_REF)
              RsPathImpl(PATH)
                PsiElement(identifier)('A')
        PsiWhiteSpace(' ')
        PsiElement(+)('+')
        PsiWhiteSpace(' ')
        RsPolyboundImpl(POLYBOUND)
          RsBoundImpl(BOUND)
            RsTraitRefImpl(TRAIT_REF)
              RsPathImpl(PATH)
                PsiElement(identifier)('B')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('E')
    RsTupleFieldsImpl(TUPLE_FIELDS)
      PsiElement(()('(')
      RsTupleFieldDeclImpl(TUPLE_FIELD_DECL)
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('i32')
      PsiElement())(')')
    PsiWhiteSpace(' ')
    RsSuperStructsImpl(SUPER_STRUCTS)
      PsiElement(:)(':')
      PsiWhiteSpace(' ')
      RsPathTypeImpl(PATH_TYPE)
        RsPathImpl(PATH)
          PsiElement(identifier)('A')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('F')
    PsiWhiteSpace(' ')
    RsSuperStructsImpl(SUPER_STRUCTS)
      PsiElement(:)(':')
      PsiWhiteSpace(' ')
      RsPathTypeImpl(PATH_TYPE)
        RsPathImpl(PATH)
          PsiElement(identifier)('A')
    PsiWhiteSpace(' ')
    RsBlockFieldsImpl(BLOCK_FIELDS)
      PsiElement({)('{')
      PsiWhiteSpace(' ')
      RsNamedFieldDeclImpl(NAMED_FIELD_DECL)
        PsiElement(identifier)('x')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('i32')
      PsiWhiteSpace(' ')
      PsiElement(})('}')
  PsiWhiteSpace('\n')
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('G')
    PsiWhiteSpace(' ')
    RsSuperStructsImpl(SUPER_STRUCTS)
      PsiElement(:)(':')
      PsiWhiteSpace(' ')
      RsPathTypeImpl(PATH_TYPE)
        RsPathImpl(PATH)
          PsiElement(identifier)('A')
    PsiWhiteSpace(' ')
    RsWhereClauseImpl(WHERE_CLAUSE)
      PsiElement(where)('where')
      PsiWhiteSpace(' ')
      RsWherePredImpl(WHERE_PRED)
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('A')
        RsTypeParamBoundsImpl(TYPE_PARAM_BOUNDS)
          PsiElement(:)(':')
          PsiWhiteSpace(' ')
          RsPolyboundImpl(POLYBOUND)
            RsBoundImpl(BOUND)
              RsTraitRefImpl(TRAIT_REF)
                RsPathImpl(PATH)
                  PsiElement(identifier)('B')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('H')
    RsTupleFieldsImpl(TUPLE_FIELDS)
      PsiElement(()('(')
      RsTupleFieldDeclImpl(TUPLE_FIELD_DECL)
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('i32')
      PsiElement())(')')
    PsiWhiteSpace(' ')
    RsSuperStructsImpl(SUPER_STRUCTS)
      PsiElement(:)(':')
      PsiWhiteSpace(' ')
      RsPathTypeImpl(PATH_TYPE)
        RsPathImpl(PATH)
          PsiElement(identifier)('A')
    PsiWhiteSpace(' ')
    RsWhereClauseImpl(WHERE_CLAUSE)
      PsiElement(where)('where')
      PsiWhiteSpace(' ')
      RsWherePredImpl(WHERE_PRED)
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('A')
        RsTypeParamBoundsImpl(TYPE_PARAM_BOUNDS)
          PsiElement(:)(':')
          PsiWhiteSpace(' ')
          RsPolyboundImpl(POLYBOUND)
            RsBoundImpl(BOUND)
              RsTraitRefImpl(TRAIT_REF)
                RsPathImpl(PATH)
                  PsiElement(identifier)('B')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('I')
    PsiWhiteSpace(' ')
    RsSuperStructsImpl(SUPER_STRUCTS)
      PsiElement(:)(':')
      PsiWhiteSpace(' ')
      RsPathTypeImpl(PATH_TYPE)
        RsPathImpl(PATH)
          PsiElement(identifier)('A')
    PsiWhiteSpace(' ')
    RsWhereClauseImpl(WHERE_CLAUSE)
      PsiElement(where)('where')
      PsiWhiteSpace(' ')
      RsWherePredImpl(WHERE_PRED)
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('A')
        RsTypeParamBoundsImpl(TYPE_PARAM_BOUNDS)
          PsiElement(:)(':')
          PsiWhiteSpace(' ')
          RsPolyboundImpl(POLYBOUND)
            RsBoundImpl(BOUND)
              RsTraitRefImpl(TRAIT_REF)
                RsPathImpl(PATH)
                  PsiElement(identifier)('B')
    PsiWhiteSpace(' ')
    RsBlockFieldsImpl(BLOCK_FIELDS)
      PsiElement({)('{')
      PsiWhiteSpace(' ')
      RsNamedFieldDeclImpl(NAMED_FIELD_DECL)
        PsiElement(identifier)('x')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('i32')
      PsiWhiteSpace(' ')
      PsiElement(})('}')
