FILE
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('S')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTraitItemImpl(TRAIT_ITEM)
    PsiElement(trait)('trait')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('A')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace('\n    ')
      RsTypeAliasImpl(TYPE_ALIAS)
        PsiElement(type)('type')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('B')
        PsiElement(;)(';')
      PsiWhiteSpace('\n')
      PsiElement(})('}')
  PsiWhiteSpace('\n\n')
  RsImplItemImpl(IMPL_ITEM)
    PsiElement(impl)('impl')
    PsiWhiteSpace(' ')
    RsTraitRefImpl(TRAIT_REF)
      RsPathImpl(PATH)
        PsiElement(identifier)('A')
    PsiWhiteSpace(' ')
    PsiElement(for)('for')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('S')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace('\n    ')
      RsTypeAliasImpl(TYPE_ALIAS)
        PsiElement(type)('type')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('B')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('S')
        PsiElement(;)(';')
      PsiWhiteSpace('\n')
      PsiElement(})('}')
  PsiWhiteSpace('\n\n\n')
  RsTraitItemImpl(TRAIT_ITEM)
    PsiElement(trait)('trait')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('T')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace(' ')
      PsiElement(})('}')
  PsiWhiteSpace('\n')
  RsTraitItemImpl(TRAIT_ITEM)
    PsiElement(trait)('trait')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('P')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('X')
      PsiElement(>)('>')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace(' ')
      PsiElement(})('}')
  PsiWhiteSpace('\n\n\n')
  RsImplItemImpl(IMPL_ITEM)
    PsiElement(impl)('impl')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('T')
    PsiWhiteSpace('  ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace(' ')
      PsiElement(})('}')
  PsiWhiteSpace('\n')
  RsImplItemImpl(IMPL_ITEM)
    PsiElement(impl)('impl')
    PsiWhiteSpace(' ')
    RsParenTypeImpl(PAREN_TYPE)
      PsiElement(()('(')
      RsPathTypeImpl(PATH_TYPE)
        RsPathImpl(PATH)
          PsiElement(identifier)('T')
      PsiElement())(')')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace(' ')
      PsiElement(})('}')
  PsiWhiteSpace('\n')
  RsImplItemImpl(IMPL_ITEM)
    PsiElement(impl)('impl')
    PsiWhiteSpace(' ')
    RsTraitRefImpl(TRAIT_REF)
      RsPathImpl(PATH)
        PsiElement(identifier)('T')
    PsiWhiteSpace(' ')
    PsiElement(for)('for')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('S')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace(' ')
      PsiElement(})('}')
  PsiWhiteSpace('\n')
  PsiComment(<EOL_COMMENT>)('// Syntactically invalid')
  PsiWhiteSpace('\n')
  PsiComment(<EOL_COMMENT>)('//impl (T) for S { }')
  PsiWhiteSpace('\n\n')
  RsImplItemImpl(IMPL_ITEM)
    PsiElement(impl)('impl')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('U')
      PsiElement(>)('>')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('P')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          RsPathTypeImpl(PATH_TYPE)
            RsPathImpl(PATH)
              PsiElement(identifier)('U')
          PsiElement(>)('>')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace(' ')
      PsiElement(})('}')
  PsiWhiteSpace('\n')
  RsImplItemImpl(IMPL_ITEM)
    PsiElement(impl)('impl')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('U')
      PsiElement(>)('>')
    PsiWhiteSpace(' ')
    RsParenTypeImpl(PAREN_TYPE)
      PsiElement(()('(')
      RsPathTypeImpl(PATH_TYPE)
        RsPathImpl(PATH)
          PsiElement(identifier)('P')
          RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
            PsiElement(<)('<')
            RsPathTypeImpl(PATH_TYPE)
              RsPathImpl(PATH)
                PsiElement(identifier)('U')
            PsiElement(>)('>')
      PsiElement())(')')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace(' ')
      PsiElement(})('}')
  PsiWhiteSpace('\n')
  RsImplItemImpl(IMPL_ITEM)
    PsiElement(impl)('impl')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('U')
      PsiElement(>)('>')
    PsiWhiteSpace(' ')
    RsTraitRefImpl(TRAIT_REF)
      RsPathImpl(PATH)
        PsiElement(identifier)('P')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          RsPathTypeImpl(PATH_TYPE)
            RsPathImpl(PATH)
              PsiElement(identifier)('U')
          PsiElement(>)('>')
    PsiWhiteSpace(' ')
    PsiElement(for)('for')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('S')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace(' ')
      PsiElement(})('}')
  PsiWhiteSpace('\n')
  RsImplItemImpl(IMPL_ITEM)
    PsiElement(impl)('impl')
    PsiWhiteSpace(' ')
    RsTraitRefImpl(TRAIT_REF)
      RsPathImpl(PATH)
        PsiElement(identifier)('T')
    PsiWhiteSpace(' ')
    PsiElement(for)('for')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        RsTypeQualImpl(TYPE_QUAL)
          PsiElement(<)('<')
          RsPathTypeImpl(PATH_TYPE)
            RsPathImpl(PATH)
              PsiElement(identifier)('S')
          PsiWhiteSpace(' ')
          PsiElement(as)('as')
          PsiWhiteSpace(' ')
          RsTraitRefImpl(TRAIT_REF)
            RsPathImpl(PATH)
              PsiElement(identifier)('A')
          PsiElement(>)('>')
          PsiElement(::)('::')
        PsiElement(identifier)('B')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace(' ')
      PsiElement(})('}')
  PsiWhiteSpace('\n\n')
  RsImplItemImpl(IMPL_ITEM)
    PsiComment(<EOL_COMMENT>)('// Semantically invalid')
    PsiWhiteSpace('\n')
    PsiElement(impl)('impl')
    PsiWhiteSpace(' ')
    RsParenTypeImpl(PAREN_TYPE)
      PsiElement(()('(')
      RsPathTypeImpl(PATH_TYPE)
        RsPathImpl(PATH)
          RsTypeQualImpl(TYPE_QUAL)
            PsiElement(<)('<')
            RsPathTypeImpl(PATH_TYPE)
              RsPathImpl(PATH)
                PsiElement(identifier)('S')
            PsiWhiteSpace(' ')
            PsiElement(as)('as')
            PsiWhiteSpace(' ')
            RsTraitRefImpl(TRAIT_REF)
              RsPathImpl(PATH)
                PsiElement(identifier)('A')
            PsiElement(>)('>')
            PsiElement(::)('::')
          PsiElement(identifier)('B')
      PsiElement())(')')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace(' ')
      PsiElement(})('}')
  PsiWhiteSpace('\n\n')
  RsImplItemImpl(IMPL_ITEM)
    PsiElement(impl)('impl')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsLifetimeParameterImpl(LIFETIME_PARAMETER)
        PsiElement(QUOTE_IDENTIFIER)(''a')
      PsiElement(,)(',')
      PsiWhiteSpace(' ')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('T')
      PsiElement(>)('>')
    PsiWhiteSpace(' ')
    RsTraitRefImpl(TRAIT_REF)
      RsPathImpl(PATH)
        PsiElement(identifier)('Iterator')
    PsiWhiteSpace(' ')
    PsiElement(for)('for')
    PsiWhiteSpace(' ')
    RsTraitTypeImpl(TRAIT_TYPE)
      RsPolyboundImpl(POLYBOUND)
        RsBoundImpl(BOUND)
          RsTraitRefImpl(TRAIT_REF)
            RsPathImpl(PATH)
              PsiElement(identifier)('Iter')
              RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
                PsiElement(<)('<')
                RsLifetimeImpl(LIFETIME)
                  PsiElement(QUOTE_IDENTIFIER)(''a')
                PsiElement(,)(',')
                PsiWhiteSpace(' ')
                RsPathTypeImpl(PATH_TYPE)
                  RsPathImpl(PATH)
                    PsiElement(identifier)('T')
                PsiElement(>)('>')
      PsiWhiteSpace(' ')
      PsiElement(+)('+')
      PsiWhiteSpace(' ')
      RsPolyboundImpl(POLYBOUND)
        RsBoundImpl(BOUND)
          RsLifetimeImpl(LIFETIME)
            PsiElement(QUOTE_IDENTIFIER)(''a')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace('\n    ')
      RsTypeAliasImpl(TYPE_ALIAS)
        PsiElement(type)('type')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('Item')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        RsRefLikeTypeImpl(REF_LIKE_TYPE)
          PsiElement(&)('&')
          RsLifetimeImpl(LIFETIME)
            PsiElement(QUOTE_IDENTIFIER)(''a')
          PsiWhiteSpace(' ')
          RsPathTypeImpl(PATH_TYPE)
            RsPathImpl(PATH)
              PsiElement(identifier)('T')
        PsiElement(;)(';')
      PsiWhiteSpace('\n\n    ')
      RsMacroCallImpl(MACRO_CALL)
        RsPathImpl(PATH)
          PsiElement(identifier)('foo')
        PsiElement(!)('!')
        RsMacroArgumentImpl(MACRO_ARGUMENT)
          PsiElement(()('(')
          PsiElement())(')')
        PsiElement(;)(';')
      PsiWhiteSpace('\n')
      PsiElement(})('}')
  PsiWhiteSpace('\n\n')
  RsImplItemImpl(IMPL_ITEM)
    PsiElement(impl)('impl')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('T')
      PsiElement(>)('>')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('GenVal')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          RsPathTypeImpl(PATH_TYPE)
            RsPathImpl(PATH)
              PsiElement(identifier)('T')
          PsiElement(>)('>')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace('\n    ')
      RsFunctionImpl(FUNCTION)
        PsiElement(fn)('fn')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('value')
        RsValueParameterListImpl(VALUE_PARAMETER_LIST)
          PsiElement(()('(')
          RsSelfParameterImpl(SELF_PARAMETER)
            PsiElement(&)('&')
            PsiElement(self)('self')
          PsiElement())(')')
        PsiWhiteSpace(' ')
        RsRetTypeImpl(RET_TYPE)
          PsiElement(->)('->')
          PsiWhiteSpace(' ')
          RsRefLikeTypeImpl(REF_LIKE_TYPE)
            PsiElement(&)('&')
            RsPathTypeImpl(PATH_TYPE)
              RsPathImpl(PATH)
                PsiElement(identifier)('T')
        PsiWhiteSpace(' ')
        RsBlockImpl(BLOCK)
          PsiElement({)('{')
          PsiElement(})('}')
      PsiWhiteSpace('\n    ')
      RsFunctionImpl(FUNCTION)
        PsiElement(fn)('fn')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('foo')
        RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
          PsiElement(<)('<')
          RsTypeParameterImpl(TYPE_PARAMETER)
            PsiElement(identifier)('A')
          PsiElement(,)(',')
          PsiWhiteSpace(' ')
          RsTypeParameterImpl(TYPE_PARAMETER)
            PsiElement(identifier)('B')
          PsiElement(>)('>')
        RsValueParameterListImpl(VALUE_PARAMETER_LIST)
          PsiElement(()('(')
          RsSelfParameterImpl(SELF_PARAMETER)
            PsiElement(&)('&')
            PsiElement(mut)('mut')
            PsiWhiteSpace(' ')
            PsiElement(self)('self')
          PsiElement(,)(',')
          PsiWhiteSpace(' ')
          RsValueParameterImpl(VALUE_PARAMETER)
            RsPatIdentImpl(PAT_IDENT)
              RsPatBindingImpl(PAT_BINDING)
                PsiElement(identifier)('a')
            PsiElement(:)(':')
            PsiWhiteSpace(' ')
            RsPathTypeImpl(PATH_TYPE)
              RsPathImpl(PATH)
                PsiElement(identifier)('i32')
          PsiElement(,)(',')
          PsiWhiteSpace(' ')
          RsValueParameterImpl(VALUE_PARAMETER)
            RsPatIdentImpl(PAT_IDENT)
              RsPatBindingImpl(PAT_BINDING)
                PsiElement(identifier)('b')
            PsiElement(:)(':')
            PsiWhiteSpace(' ')
            RsPathTypeImpl(PATH_TYPE)
              RsPathImpl(PATH)
                PsiElement(identifier)('i32')
          PsiElement())(')')
        PsiWhiteSpace(' ')
        RsRetTypeImpl(RET_TYPE)
          PsiElement(->)('->')
          PsiWhiteSpace(' ')
          RsRefLikeTypeImpl(REF_LIKE_TYPE)
            PsiElement(&)('&')
            RsPathTypeImpl(PATH_TYPE)
              RsPathImpl(PATH)
                PsiElement(identifier)('A')
        PsiWhiteSpace(' ')
        RsBlockImpl(BLOCK)
          PsiElement({)('{')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      PsiElement(})('}')
  PsiWhiteSpace('\n\n')
  RsImplItemImpl(IMPL_ITEM)
    PsiElement(impl)('impl')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('T')
        RsTypeParamBoundsImpl(TYPE_PARAM_BOUNDS)
          PsiElement(:)(':')
          PsiWhiteSpace(' ')
          RsPolyboundImpl(POLYBOUND)
            RsBoundImpl(BOUND)
              RsTraitRefImpl(TRAIT_REF)
                RsPathImpl(PATH)
                  RsPathImpl(PATH)
                    PsiElement(identifier)('fmt')
                  PsiElement(::)('::')
                  PsiElement(identifier)('Display')
          PsiWhiteSpace(' ')
          PsiElement(+)('+')
          PsiWhiteSpace(' ')
          RsPolyboundImpl(POLYBOUND)
            PsiElement(?)('?')
            RsBoundImpl(BOUND)
              RsTraitRefImpl(TRAIT_REF)
                RsPathImpl(PATH)
                  PsiElement(identifier)('Sized')
      PsiElement(>)('>')
    PsiWhiteSpace(' ')
    RsTraitRefImpl(TRAIT_REF)
      RsPathImpl(PATH)
        PsiElement(identifier)('ToString')
    PsiWhiteSpace(' ')
    PsiElement(for)('for')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('T')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiWhiteSpace('\n    ')
      RsFunctionImpl(FUNCTION)
        RsOuterAttrImpl(OUTER_ATTR)
          PsiElement(#)('#')
          PsiElement([)('[')
          RsMetaItemImpl(META_ITEM)
            RsPathImpl(PATH)
              PsiElement(identifier)('inline')
          PsiElement(])(']')
        PsiWhiteSpace('\n    ')
        PsiElement(default_kw)('default')
        PsiWhiteSpace(' ')
        PsiElement(fn)('fn')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('to_string')
        RsValueParameterListImpl(VALUE_PARAMETER_LIST)
          PsiElement(()('(')
          RsSelfParameterImpl(SELF_PARAMETER)
            PsiElement(&)('&')
            PsiElement(self)('self')
          PsiElement())(')')
        PsiWhiteSpace(' ')
        RsRetTypeImpl(RET_TYPE)
          PsiElement(->)('->')
          PsiWhiteSpace(' ')
          RsPathTypeImpl(PATH_TYPE)
            RsPathImpl(PATH)
              PsiElement(identifier)('String')
        PsiWhiteSpace(' ')
        RsBlockImpl(BLOCK)
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n    ')
      RsFunctionImpl(FUNCTION)
        PsiElement(default_kw)('default')
        PsiWhiteSpace(' ')
        PsiElement(fn)('fn')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('a')
        RsValueParameterListImpl(VALUE_PARAMETER_LIST)
          PsiElement(()('(')
          PsiElement())(')')
        PsiWhiteSpace(' ')
        RsBlockImpl(BLOCK)
          PsiElement({)('{')
          PsiElement(})('}')
      PsiWhiteSpace('\n    ')
      RsFunctionImpl(FUNCTION)
        PsiElement(default_kw)('default')
        PsiWhiteSpace(' ')
        PsiElement(fn)('fn')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('b')
        RsValueParameterListImpl(VALUE_PARAMETER_LIST)
          PsiElement(()('(')
          PsiElement())(')')
        PsiWhiteSpace(' ')
        RsBlockImpl(BLOCK)
          PsiElement({)('{')
          PsiElement(})('}')
      PsiWhiteSpace('\n    ')
      RsConstantImpl(CONSTANT)
        PsiElement(default_kw)('default')
        PsiWhiteSpace(' ')
        PsiElement(const)('const')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('BAR')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('u32')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        RsLitExprImpl(LIT_EXPR)
          PsiElement(INTEGER_LITERAL)('81')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsTypeAliasImpl(TYPE_ALIAS)
        PsiElement(default_kw)('default')
        PsiWhiteSpace(' ')
        PsiElement(type)('type')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('T')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('i32')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsFunctionImpl(FUNCTION)
        RsVisImpl(VIS)
          PsiElement(pub)('pub')
        PsiWhiteSpace(' ')
        PsiElement(default_kw)('default')
        PsiWhiteSpace(' ')
        PsiElement(fn)('fn')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('c')
        RsValueParameterListImpl(VALUE_PARAMETER_LIST)
          PsiElement(()('(')
          PsiElement())(')')
        PsiWhiteSpace(' ')
        RsBlockImpl(BLOCK)
          PsiElement({)('{')
          PsiElement(})('}')
      PsiWhiteSpace('\n    ')
      RsConstantImpl(CONSTANT)
        RsVisImpl(VIS)
          PsiElement(pub)('pub')
        PsiWhiteSpace(' ')
        PsiElement(default_kw)('default')
        PsiWhiteSpace(' ')
        PsiElement(const)('const')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('C1')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('i32')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        RsLitExprImpl(LIT_EXPR)
          PsiElement(INTEGER_LITERAL)('1')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsTypeAliasImpl(TYPE_ALIAS)
        RsVisImpl(VIS)
          PsiElement(pub)('pub')
        PsiWhiteSpace(' ')
        PsiElement(default_kw)('default')
        PsiWhiteSpace(' ')
        PsiElement(type)('type')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('T1')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('i32')
        PsiElement(;)(';')
      PsiWhiteSpace('\n')
      PsiElement(})('}')
  PsiWhiteSpace('\n\n')
  RsImplItemImpl(IMPL_ITEM)
    PsiElement(default_kw)('default')
    PsiWhiteSpace(' ')
    PsiElement(unsafe)('unsafe')
    PsiWhiteSpace(' ')
    PsiElement(impl)('impl')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('T')
      PsiElement(>)('>')
    PsiWhiteSpace(' ')
    PsiElement(const)('const')
    PsiWhiteSpace(' ')
    RsTraitRefImpl(TRAIT_REF)
      RsPathImpl(PATH)
        PsiElement(identifier)('X')
    PsiWhiteSpace(' ')
    PsiElement(for)('for')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('X')
    PsiWhiteSpace(' ')
    RsMembersImpl(MEMBERS)
      PsiElement({)('{')
      PsiElement(})('}')
