FILE
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('FunType')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('Fn')
        RsValueParameterListImpl(VALUE_PARAMETER_LIST)
          PsiElement(()('(')
          RsValueParameterImpl(VALUE_PARAMETER)
            RsPathTypeImpl(PATH_TYPE)
              RsPathImpl(PATH)
                PsiElement(identifier)('f64')
          PsiElement())(')')
        PsiWhiteSpace(' ')
        RsRetTypeImpl(RET_TYPE)
          PsiElement(->)('->')
          PsiWhiteSpace(' ')
          RsPathTypeImpl(PATH_TYPE)
            RsPathImpl(PATH)
              PsiElement(identifier)('f64')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('FunType2')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('FnOnce')
        RsValueParameterListImpl(VALUE_PARAMETER_LIST)
          PsiElement(::)('::')
          PsiElement(()('(')
          RsValueParameterImpl(VALUE_PARAMETER)
            RsPathTypeImpl(PATH_TYPE)
              RsPathImpl(PATH)
                PsiElement(identifier)('i32')
          PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('FunTypeVoid')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('Fn')
        RsValueParameterListImpl(VALUE_PARAMETER_LIST)
          PsiElement(()('(')
          PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('ColonColon')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('Vec')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(::)('::')
          PsiElement(<)('<')
          RsArrayTypeImpl(ARRAY_TYPE)
            PsiElement([)('[')
            RsPathTypeImpl(PATH_TYPE)
              RsPathImpl(PATH)
                PsiElement(identifier)('u8')
            PsiElement(;)(';')
            PsiWhiteSpace(' ')
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('8')
            PsiElement(])(']')
          PsiElement(>)('>')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('Sum')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('Box')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          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)('Copy')
          PsiElement(>)('>')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('LifetimeSum')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('Box')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          RsTraitTypeImpl(TRAIT_TYPE)
            RsPolyboundImpl(POLYBOUND)
              RsBoundImpl(BOUND)
                RsLifetimeImpl(LIFETIME)
                  PsiElement(QUOTE_IDENTIFIER)(''a')
            PsiWhiteSpace(' ')
            PsiElement(+)('+')
            PsiWhiteSpace(' ')
            RsPolyboundImpl(POLYBOUND)
              RsBoundImpl(BOUND)
                RsTraitRefImpl(TRAIT_REF)
                  RsPathImpl(PATH)
                    PsiElement(identifier)('Copy')
          PsiElement(>)('>')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('HrtbSum')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsRefLikeTypeImpl(REF_LIKE_TYPE)
      PsiElement(&)('&')
      RsParenTypeImpl(PAREN_TYPE)
        PsiElement(()('(')
        RsTraitTypeImpl(TRAIT_TYPE)
          RsPolyboundImpl(POLYBOUND)
            RsForLifetimesImpl(FOR_LIFETIMES)
              PsiElement(for)('for')
              PsiElement(<)('<')
              RsLifetimeParameterImpl(LIFETIME_PARAMETER)
                PsiElement(QUOTE_IDENTIFIER)(''a')
              PsiElement(>)('>')
            PsiWhiteSpace(' ')
            RsBoundImpl(BOUND)
              RsTraitRefImpl(TRAIT_REF)
                RsPathImpl(PATH)
                  PsiElement(identifier)('Trait1')
          PsiWhiteSpace(' ')
          PsiElement(+)('+')
          PsiWhiteSpace(' ')
          RsPolyboundImpl(POLYBOUND)
            RsForLifetimesImpl(FOR_LIFETIMES)
              PsiElement(for)('for')
              PsiElement(<)('<')
              RsLifetimeParameterImpl(LIFETIME_PARAMETER)
                PsiElement(QUOTE_IDENTIFIER)(''b')
              PsiElement(>)('>')
            PsiWhiteSpace(' ')
            RsBoundImpl(BOUND)
              RsTraitRefImpl(TRAIT_REF)
                RsPathImpl(PATH)
                  PsiElement(identifier)('Trait2')
        PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('FunSum')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('Box')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          RsTraitTypeImpl(TRAIT_TYPE)
            RsPolyboundImpl(POLYBOUND)
              RsBoundImpl(BOUND)
                RsTraitRefImpl(TRAIT_REF)
                  RsPathImpl(PATH)
                    PsiElement(identifier)('Fn')
                    RsValueParameterListImpl(VALUE_PARAMETER_LIST)
                      PsiElement(()('(')
                      RsValueParameterImpl(VALUE_PARAMETER)
                        RsPathTypeImpl(PATH_TYPE)
                          RsPathImpl(PATH)
                            PsiElement(identifier)('f64')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      RsValueParameterImpl(VALUE_PARAMETER)
                        RsPathTypeImpl(PATH_TYPE)
                          RsPathImpl(PATH)
                            PsiElement(identifier)('f64')
                      PsiElement())(')')
                    PsiWhiteSpace(' ')
                    RsRetTypeImpl(RET_TYPE)
                      PsiElement(->)('->')
                      PsiWhiteSpace(' ')
                      RsPathTypeImpl(PATH_TYPE)
                        RsPathImpl(PATH)
                          PsiElement(identifier)('f64')
            PsiWhiteSpace(' ')
            PsiElement(+)('+')
            PsiWhiteSpace(' ')
            RsPolyboundImpl(POLYBOUND)
              RsBoundImpl(BOUND)
                RsTraitRefImpl(TRAIT_REF)
                  RsPathImpl(PATH)
                    PsiElement(identifier)('Send')
            PsiWhiteSpace(' ')
            PsiElement(+)('+')
            PsiWhiteSpace(' ')
            RsPolyboundImpl(POLYBOUND)
              RsBoundImpl(BOUND)
                RsTraitRefImpl(TRAIT_REF)
                  RsPathImpl(PATH)
                    PsiElement(identifier)('Sync')
          PsiElement(>)('>')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('FunSum2')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('Box')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          RsTraitTypeImpl(TRAIT_TYPE)
            RsPolyboundImpl(POLYBOUND)
              RsBoundImpl(BOUND)
                RsTraitRefImpl(TRAIT_REF)
                  RsPathImpl(PATH)
                    PsiElement(identifier)('Fn')
                    RsValueParameterListImpl(VALUE_PARAMETER_LIST)
                      PsiElement(()('(')
                      PsiElement())(')')
                    PsiWhiteSpace(' ')
                    RsRetTypeImpl(RET_TYPE)
                      PsiElement(->)('->')
                      PsiWhiteSpace(' ')
                      RsUnitTypeImpl(UNIT_TYPE)
                        PsiElement(()('(')
                        PsiElement())(')')
            PsiWhiteSpace(' ')
            PsiElement(+)('+')
            PsiWhiteSpace(' ')
            RsPolyboundImpl(POLYBOUND)
              RsBoundImpl(BOUND)
                RsTraitRefImpl(TRAIT_REF)
                  RsPathImpl(PATH)
                    PsiElement(identifier)('Send')
          PsiElement(>)('>')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('FunRetDynTrait')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('Box')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          RsPathTypeImpl(PATH_TYPE)
            RsPathImpl(PATH)
              PsiElement(identifier)('Fn')
              RsValueParameterListImpl(VALUE_PARAMETER_LIST)
                PsiElement(()('(')
                PsiElement())(')')
              PsiWhiteSpace(' ')
              RsRetTypeImpl(RET_TYPE)
                PsiElement(->)('->')
                PsiWhiteSpace(' ')
                RsTraitTypeImpl(TRAIT_TYPE)
                  PsiElement(dyn_kw)('dyn')
                  PsiWhiteSpace(' ')
                  RsPolyboundImpl(POLYBOUND)
                    RsBoundImpl(BOUND)
                      RsTraitRefImpl(TRAIT_REF)
                        RsPathImpl(PATH)
                          PsiElement(identifier)('Trait')
                  PsiWhiteSpace(' ')
                  PsiElement(+)('+')
                  PsiWhiteSpace(' ')
                  RsPolyboundImpl(POLYBOUND)
                    RsBoundImpl(BOUND)
                      RsTraitRefImpl(TRAIT_REF)
                        RsPathImpl(PATH)
                          PsiElement(identifier)('Send')
          PsiElement(>)('>')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('Shl')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('F')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          RsPathTypeImpl(PATH_TYPE)
            RsPathImpl(PATH)
              RsTypeQualImpl(TYPE_QUAL)
                PsiElement(<)('<')
                RsPathTypeImpl(PATH_TYPE)
                  RsPathImpl(PATH)
                    PsiElement(identifier)('i')
                PsiWhiteSpace(' ')
                PsiElement(as)('as')
                PsiWhiteSpace(' ')
                RsTraitRefImpl(TRAIT_REF)
                  RsPathImpl(PATH)
                    PsiElement(identifier)('B')
                PsiElement(>)('>')
                PsiElement(::)('::')
              PsiElement(identifier)('Q')
          PsiElement(,)(',')
          PsiWhiteSpace(' ')
          RsAssocTypeBindingImpl(ASSOC_TYPE_BINDING)
            RsPathImpl(PATH)
              PsiElement(identifier)('T')
            PsiElement(=)('=')
            RsPathTypeImpl(PATH_TYPE)
              RsPathImpl(PATH)
                PsiElement(identifier)('bool')
          PsiElement(>)('>')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('Shr')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('Vec')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          RsPathTypeImpl(PATH_TYPE)
            RsPathImpl(PATH)
              PsiElement(identifier)('Vec')
              RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
                PsiElement(<)('<')
                RsPathTypeImpl(PATH_TYPE)
                  RsPathImpl(PATH)
                    PsiElement(identifier)('f64')
                PsiElement(>)('>')
          PsiElement(>)('>')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('Path')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        RsPathImpl(PATH)
          PsiElement(identifier)('io')
        PsiElement(::)('::')
        PsiElement(identifier)('Result')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          RsUnitTypeImpl(UNIT_TYPE)
            PsiElement(()('(')
            PsiElement())(')')
          PsiElement(>)('>')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('AssocType')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('Box')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          RsTraitTypeImpl(TRAIT_TYPE)
            RsPolyboundImpl(POLYBOUND)
              RsBoundImpl(BOUND)
                RsTraitRefImpl(TRAIT_REF)
                  RsPathImpl(PATH)
                    PsiElement(identifier)('Iterator')
                    RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
                      PsiElement(<)('<')
                      RsAssocTypeBindingImpl(ASSOC_TYPE_BINDING)
                        RsPathImpl(PATH)
                          PsiElement(identifier)('Item')
                        PsiElement(=)('=')
                        RsTupleTypeImpl(TUPLE_TYPE)
                          PsiElement(()('(')
                          RsPathTypeImpl(PATH_TYPE)
                            RsPathImpl(PATH)
                              PsiElement(identifier)('Idx')
                          PsiElement(,)(',')
                          PsiWhiteSpace(' ')
                          RsPathTypeImpl(PATH_TYPE)
                            RsPathImpl(PATH)
                              PsiElement(identifier)('T')
                          PsiElement())(')')
                      PsiElement(>)('>')
            PsiWhiteSpace(' ')
            PsiElement(+)('+')
            PsiWhiteSpace(' ')
            RsPolyboundImpl(POLYBOUND)
              RsBoundImpl(BOUND)
                RsLifetimeImpl(LIFETIME)
                  PsiElement(QUOTE_IDENTIFIER)(''a')
          PsiElement(>)('>')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('GenericAssoc')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('Foo')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          RsPathTypeImpl(PATH_TYPE)
            RsPathImpl(PATH)
              PsiElement(identifier)('T')
          PsiElement(,)(',')
          PsiWhiteSpace(' ')
          RsAssocTypeBindingImpl(ASSOC_TYPE_BINDING)
            RsPathImpl(PATH)
              PsiElement(identifier)('U')
            PsiElement(=)('=')
            RsPathTypeImpl(PATH_TYPE)
              RsPathImpl(PATH)
                PsiElement(identifier)('i32')
          PsiElement(>)('>')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('Trailing1')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('Box')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          RsPathTypeImpl(PATH_TYPE)
            RsPathImpl(PATH)
              PsiElement(identifier)('TypeA')
              RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
                PsiElement(<)('<')
                RsLifetimeImpl(LIFETIME)
                  PsiElement(QUOTE_IDENTIFIER)(''static')
                PsiElement(,)(',')
                PsiElement(>)('>')
          PsiElement(>)('>')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('Trailing2')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsLifetimeParameterImpl(LIFETIME_PARAMETER)
        PsiElement(QUOTE_IDENTIFIER)(''a')
      PsiElement(>)('>')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsPathTypeImpl(PATH_TYPE)
      RsPathImpl(PATH)
        PsiElement(identifier)('MyType')
        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
          PsiElement(<)('<')
          RsLifetimeImpl(LIFETIME)
            PsiElement(QUOTE_IDENTIFIER)(''a')
          PsiElement(,)(',')
          PsiWhiteSpace(' ')
          RsUnitTypeImpl(UNIT_TYPE)
            PsiElement(()('(')
            PsiElement())(')')
          PsiElement(,)(',')
          PsiElement(>)('>')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('TrailingCommaInFn')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsFnPointerTypeImpl(FN_POINTER_TYPE)
      PsiElement(unsafe)('unsafe')
      PsiWhiteSpace(' ')
      RsExternAbiImpl(EXTERN_ABI)
        PsiElement(extern)('extern')
        PsiWhiteSpace(' ')
        RsLitExprImpl(LIT_EXPR)
          PsiElement(STRING_LITERAL)('"system"')
      PsiWhiteSpace(' ')
      PsiElement(fn)('fn')
      RsValueParameterListImpl(VALUE_PARAMETER_LIST)
        PsiElement(()('(')
        RsValueParameterImpl(VALUE_PARAMETER)
          RsPatIdentImpl(PAT_IDENT)
            RsPatBindingImpl(PAT_BINDING)
              PsiElement(identifier)('x')
          PsiElement(:)(':')
          PsiWhiteSpace(' ')
          RsPathTypeImpl(PATH_TYPE)
            RsPathImpl(PATH)
              PsiElement(identifier)('i32')
        PsiElement(,)(',')
        PsiElement())(')')
      PsiWhiteSpace(' ')
      RsRetTypeImpl(RET_TYPE)
        PsiElement(->)('->')
        PsiWhiteSpace(' ')
        RsUnitTypeImpl(UNIT_TYPE)
          PsiElement(()('(')
          PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsFunctionImpl(FUNCTION)
    PsiElement(fn)('fn')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('foo')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('T')
      PsiElement(>)('>')
    RsValueParameterListImpl(VALUE_PARAMETER_LIST)
      PsiElement(()('(')
      RsValueParameterImpl(VALUE_PARAMETER)
        RsPatIdentImpl(PAT_IDENT)
          RsPatBindingImpl(PAT_BINDING)
            PsiElement(identifier)('xs')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('Vec')
            RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
              PsiElement(<)('<')
              RsPathTypeImpl(PATH_TYPE)
                RsPathImpl(PATH)
                  PsiElement(identifier)('T')
              PsiElement(>)('>')
      PsiElement())(')')
    PsiWhiteSpace(' ')
    RsRetTypeImpl(RET_TYPE)
      PsiElement(->)('->')
      PsiWhiteSpace(' ')
      RsTraitTypeImpl(TRAIT_TYPE)
        PsiElement(impl)('impl')
        PsiWhiteSpace(' ')
        RsPolyboundImpl(POLYBOUND)
          RsBoundImpl(BOUND)
            RsTraitRefImpl(TRAIT_REF)
              RsPathImpl(PATH)
                PsiElement(identifier)('Iterator')
                RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
                  PsiElement(<)('<')
                  RsAssocTypeBindingImpl(ASSOC_TYPE_BINDING)
                    RsPathImpl(PATH)
                      PsiElement(identifier)('Item')
                    PsiElement(=)('=')
                    RsTraitTypeImpl(TRAIT_TYPE)
                      PsiElement(impl)('impl')
                      PsiWhiteSpace(' ')
                      RsPolyboundImpl(POLYBOUND)
                        RsBoundImpl(BOUND)
                          RsTraitRefImpl(TRAIT_REF)
                            RsPathImpl(PATH)
                              PsiElement(identifier)('FnOnce')
                              RsValueParameterListImpl(VALUE_PARAMETER_LIST)
                                PsiElement(()('(')
                                PsiElement())(')')
                              PsiWhiteSpace(' ')
                              RsRetTypeImpl(RET_TYPE)
                                PsiElement(->)('->')
                                PsiWhiteSpace(' ')
                                RsPathTypeImpl(PATH_TYPE)
                                  RsPathImpl(PATH)
                                    PsiElement(identifier)('T')
                  PsiElement(>)('>')
        PsiWhiteSpace(' ')
        PsiElement(+)('+')
        PsiWhiteSpace(' ')
        RsPolyboundImpl(POLYBOUND)
          RsBoundImpl(BOUND)
            RsTraitRefImpl(TRAIT_REF)
              RsPathImpl(PATH)
                PsiElement(identifier)('Clone')
    PsiWhiteSpace(' ')
    RsBlockImpl(BLOCK)
      PsiElement({)('{')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsDotExprImpl(DOT_EXPR)
          RsDotExprImpl(DOT_EXPR)
            RsPathExprImpl(PATH_EXPR)
              RsPathImpl(PATH)
                PsiElement(identifier)('xs')
            PsiElement(.)('.')
            RsMethodCallImpl(METHOD_CALL)
              PsiElement(identifier)('into_iter')
              RsValueArgumentListImpl(VALUE_ARGUMENT_LIST)
                PsiElement(()('(')
                PsiElement())(')')
          PsiElement(.)('.')
          RsMethodCallImpl(METHOD_CALL)
            PsiElement(identifier)('map')
            RsValueArgumentListImpl(VALUE_ARGUMENT_LIST)
              PsiElement(()('(')
              RsLambdaExprImpl(LAMBDA_EXPR)
                RsValueParameterListImpl(VALUE_PARAMETER_LIST)
                  PsiElement(|)('|')
                  RsValueParameterImpl(VALUE_PARAMETER)
                    RsPatIdentImpl(PAT_IDENT)
                      RsPatBindingImpl(PAT_BINDING)
                        PsiElement(identifier)('x')
                  PsiElement(|)('|')
                PsiWhiteSpace(' ')
                RsLambdaExprImpl(LAMBDA_EXPR)
                  RsValueParameterListImpl(VALUE_PARAMETER_LIST)
                    PsiElement(|)('|')
                    PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  RsPathExprImpl(PATH_EXPR)
                    RsPathImpl(PATH)
                      PsiElement(identifier)('x')
              PsiElement())(')')
      PsiWhiteSpace('\n')
      PsiElement(})('}')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('DynTrait')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsTraitTypeImpl(TRAIT_TYPE)
      PsiElement(dyn_kw)('dyn')
      PsiWhiteSpace(' ')
      RsPolyboundImpl(POLYBOUND)
        RsBoundImpl(BOUND)
          RsTraitRefImpl(TRAIT_REF)
            RsPathImpl(PATH)
              PsiElement(identifier)('Trait')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('S')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('F')
      PsiElement(>)('>')
    PsiWhiteSpace('\n    ')
    RsWhereClauseImpl(WHERE_CLAUSE)
      PsiElement(where)('where')
      PsiWhiteSpace(' ')
      RsWherePredImpl(WHERE_PRED)
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('F')
        RsTypeParamBoundsImpl(TYPE_PARAM_BOUNDS)
          PsiElement(:)(':')
          PsiWhiteSpace(' ')
          RsPolyboundImpl(POLYBOUND)
            RsBoundImpl(BOUND)
              RsTraitRefImpl(TRAIT_REF)
                RsPathImpl(PATH)
                  PsiElement(identifier)('FnMut')
                  RsValueParameterListImpl(VALUE_PARAMETER_LIST)
                    PsiElement(()('(')
                    RsValueParameterImpl(VALUE_PARAMETER)
                      RsRefLikeTypeImpl(REF_LIKE_TYPE)
                        PsiElement(&)('&')
                        PsiElement(mut)('mut')
                        PsiWhiteSpace(' ')
                        RsPathTypeImpl(PATH_TYPE)
                          RsPathImpl(PATH)
                            PsiElement(Self)('Self')
                    PsiElement(,)(',')
                    PsiWhiteSpace(' ')
                    RsValueParameterImpl(VALUE_PARAMETER)
                      RsRefLikeTypeImpl(REF_LIKE_TYPE)
                        PsiElement(&)('&')
                        RsPathTypeImpl(PATH_TYPE)
                          RsPathImpl(PATH)
                            PsiElement(identifier)('T')
                    PsiElement())(')')
                  PsiWhiteSpace(' ')
                  RsRetTypeImpl(RET_TYPE)
                    PsiElement(->)('->')
                    PsiWhiteSpace(' ')
                    RsPathTypeImpl(PATH_TYPE)
                      RsPathImpl(PATH)
                        PsiElement(identifier)('Result')
                        RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
                          PsiElement(<)('<')
                          RsUnitTypeImpl(UNIT_TYPE)
                            PsiElement(()('(')
                            PsiElement())(')')
                          PsiElement(,)(',')
                          PsiWhiteSpace(' ')
                          RsPathTypeImpl(PATH_TYPE)
                            RsPathImpl(PATH)
                              RsTypeQualImpl(TYPE_QUAL)
                                PsiElement(<)('<')
                                RsPathTypeImpl(PATH_TYPE)
                                  RsPathImpl(PATH)
                                    PsiElement(Self)('Self')
                                PsiWhiteSpace(' ')
                                PsiElement(as)('as')
                                PsiWhiteSpace(' ')
                                RsTraitRefImpl(TRAIT_REF)
                                  RsPathImpl(PATH)
                                    PsiElement(identifier)('Encoder')
                                PsiElement(>)('>')
                                PsiElement(::)('::')
                              PsiElement(identifier)('Error')
                          PsiElement(>)('>')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('EmptyWhere')
    PsiWhiteSpace(' ')
    RsWhereClauseImpl(WHERE_CLAUSE)
      PsiElement(where)('where')
    PsiWhiteSpace(' ')
    RsBlockFieldsImpl(BLOCK_FIELDS)
      PsiElement({)('{')
      PsiElement(})('}')
  PsiWhiteSpace('\n\n')
  RsFunctionImpl(FUNCTION)
    PsiElement(fn)('fn')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('bar')
    RsValueParameterListImpl(VALUE_PARAMETER_LIST)
      PsiElement(()('(')
      PsiElement())(')')
    PsiWhiteSpace(' ')
    RsRetTypeImpl(RET_TYPE)
      PsiElement(->)('->')
      PsiWhiteSpace(' ')
      RsMacroTypeImpl(MACRO_TYPE)
        RsMacroCallImpl(MACRO_CALL)
          RsPathImpl(PATH)
            PsiElement(identifier)('foo')
          PsiElement(!)('!')
          RsMacroArgumentImpl(MACRO_ARGUMENT)
            PsiElement(()('(')
            PsiElement())(')')
    PsiWhiteSpace(' ')
    RsBlockImpl(BLOCK)
      PsiElement({)('{')
      PsiWhiteSpace(' ')
      RsLetDeclImpl(LET_DECL)
        PsiElement(let)('let')
        PsiWhiteSpace(' ')
        RsPatIdentImpl(PAT_IDENT)
          RsPatBindingImpl(PAT_BINDING)
            PsiElement(identifier)('a')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        RsMacroTypeImpl(MACRO_TYPE)
          RsMacroCallImpl(MACRO_CALL)
            RsPathImpl(PATH)
              PsiElement(identifier)('foo')
            PsiElement(!)('!')
            RsMacroArgumentImpl(MACRO_ARGUMENT)
              PsiElement(()('(')
              PsiElement())(')')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        RsCastExprImpl(CAST_EXPR)
          RsLitExprImpl(LIT_EXPR)
            PsiElement(INTEGER_LITERAL)('0')
          PsiWhiteSpace(' ')
          PsiElement(as)('as')
          PsiWhiteSpace(' ')
          RsMacroTypeImpl(MACRO_TYPE)
            RsMacroCallImpl(MACRO_CALL)
              RsPathImpl(PATH)
                PsiElement(identifier)('foo')
              PsiElement(!)('!')
              RsMacroArgumentImpl(MACRO_ARGUMENT)
                PsiElement(()('(')
                PsiElement())(')')
        PsiElement(;)(';')
      PsiWhiteSpace(' ')
      RsExprStmtImpl(EXPR_STMT)
        RsPathExprImpl(PATH_EXPR)
          RsPathImpl(PATH)
            PsiElement(identifier)('a')
      PsiWhiteSpace(' ')
      PsiElement(})('}')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('ExternFn')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsFnPointerTypeImpl(FN_POINTER_TYPE)
      RsExternAbiImpl(EXTERN_ABI)
        PsiElement(extern)('extern')
      PsiWhiteSpace(' ')
      PsiElement(fn)('fn')
      RsValueParameterListImpl(VALUE_PARAMETER_LIST)
        PsiElement(()('(')
        PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('ExternCFn')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsFnPointerTypeImpl(FN_POINTER_TYPE)
      RsExternAbiImpl(EXTERN_ABI)
        PsiElement(extern)('extern')
        PsiWhiteSpace(' ')
        RsLitExprImpl(LIT_EXPR)
          PsiElement(STRING_LITERAL)('"C"')
      PsiWhiteSpace(' ')
      PsiElement(fn)('fn')
      RsValueParameterListImpl(VALUE_PARAMETER_LIST)
        PsiElement(()('(')
        PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('ExternFnWithEscapeInAbi')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsFnPointerTypeImpl(FN_POINTER_TYPE)
      RsExternAbiImpl(EXTERN_ABI)
        PsiElement(extern)('extern')
        PsiWhiteSpace(' ')
        RsLitExprImpl(LIT_EXPR)
          PsiElement(STRING_LITERAL)('"R\x75st"')
      PsiWhiteSpace(' ')
      PsiElement(fn)('fn')
      RsValueParameterListImpl(VALUE_PARAMETER_LIST)
        PsiElement(()('(')
        PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('ExternFnWithRawAbi')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsFnPointerTypeImpl(FN_POINTER_TYPE)
      RsExternAbiImpl(EXTERN_ABI)
        PsiElement(extern)('extern')
        PsiWhiteSpace(' ')
        RsLitExprImpl(LIT_EXPR)
          PsiElement(RAW_STRING_LITERAL)('r"system"')
      PsiWhiteSpace(' ')
      PsiElement(fn)('fn')
      RsValueParameterListImpl(VALUE_PARAMETER_LIST)
        PsiElement(()('(')
        PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('ExternFnWithInvalidAbi')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsFnPointerTypeImpl(FN_POINTER_TYPE)
      RsExternAbiImpl(EXTERN_ABI)
        PsiElement(extern)('extern')
        PsiWhiteSpace(' ')
        RsLitExprImpl(LIT_EXPR)
          PsiElement(BOOL_LITERAL)('true')
      PsiWhiteSpace(' ')
      PsiElement(fn)('fn')
      RsValueParameterListImpl(VALUE_PARAMETER_LIST)
        PsiElement(()('(')
        PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('GatSimple')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('T')
      PsiElement(>)('>')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsUnitTypeImpl(UNIT_TYPE)
      PsiElement(()('(')
      PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('GatBound')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('T')
      PsiElement(>)('>')
    RsTypeParamBoundsImpl(TYPE_PARAM_BOUNDS)
      PsiElement(:)(':')
      PsiWhiteSpace(' ')
      RsPolyboundImpl(POLYBOUND)
        RsBoundImpl(BOUND)
          RsTraitRefImpl(TRAIT_REF)
            RsPathImpl(PATH)
              PsiElement(identifier)('Bound')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsUnitTypeImpl(UNIT_TYPE)
      PsiElement(()('(')
      PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('GatWhere')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('T')
      PsiElement(>)('>')
    PsiWhiteSpace(' ')
    RsWhereClauseImpl(WHERE_CLAUSE)
      PsiElement(where)('where')
      PsiWhiteSpace(' ')
      RsWherePredImpl(WHERE_PRED)
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('T')
        RsTypeParamBoundsImpl(TYPE_PARAM_BOUNDS)
          PsiElement(:)(':')
          PsiWhiteSpace(' ')
          RsPolyboundImpl(POLYBOUND)
            RsBoundImpl(BOUND)
              RsTraitRefImpl(TRAIT_REF)
                RsPathImpl(PATH)
                  PsiElement(identifier)('Bound')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsUnitTypeImpl(UNIT_TYPE)
      PsiElement(()('(')
      PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('GatBoundWhere')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('T')
      PsiElement(>)('>')
    RsTypeParamBoundsImpl(TYPE_PARAM_BOUNDS)
      PsiElement(:)(':')
      PsiWhiteSpace(' ')
      RsPolyboundImpl(POLYBOUND)
        RsBoundImpl(BOUND)
          RsTraitRefImpl(TRAIT_REF)
            RsPathImpl(PATH)
              PsiElement(identifier)('Bound')
    PsiWhiteSpace(' ')
    RsWhereClauseImpl(WHERE_CLAUSE)
      PsiElement(where)('where')
      PsiWhiteSpace(' ')
      RsWherePredImpl(WHERE_PRED)
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('T')
        RsTypeParamBoundsImpl(TYPE_PARAM_BOUNDS)
          PsiElement(:)(':')
          PsiWhiteSpace(' ')
          RsPolyboundImpl(POLYBOUND)
            RsBoundImpl(BOUND)
              RsTraitRefImpl(TRAIT_REF)
                RsPathImpl(PATH)
                  PsiElement(identifier)('Bound')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsUnitTypeImpl(UNIT_TYPE)
      PsiElement(()('(')
      PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('GatBoundWhere2')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('T')
      PsiElement(>)('>')
    RsTypeParamBoundsImpl(TYPE_PARAM_BOUNDS)
      PsiElement(:)(':')
      PsiWhiteSpace(' ')
      RsPolyboundImpl(POLYBOUND)
        RsBoundImpl(BOUND)
          RsTraitRefImpl(TRAIT_REF)
            RsPathImpl(PATH)
              PsiElement(identifier)('Bound')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsUnitTypeImpl(UNIT_TYPE)
      PsiElement(()('(')
      PsiElement())(')')
    PsiWhiteSpace(' ')
    RsWhereClauseImpl(WHERE_CLAUSE)
      PsiElement(where)('where')
      PsiWhiteSpace(' ')
      RsWherePredImpl(WHERE_PRED)
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('T')
        RsTypeParamBoundsImpl(TYPE_PARAM_BOUNDS)
          PsiElement(:)(':')
          PsiWhiteSpace(' ')
          RsPolyboundImpl(POLYBOUND)
            RsBoundImpl(BOUND)
              RsTraitRefImpl(TRAIT_REF)
                RsPathImpl(PATH)
                  PsiElement(identifier)('Bound')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsTypeAliasImpl(TYPE_ALIAS)
    PsiElement(type)('type')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('GatBoundWhere3')
    RsTypeParameterListImpl(TYPE_PARAMETER_LIST)
      PsiElement(<)('<')
      RsTypeParameterImpl(TYPE_PARAMETER)
        PsiElement(identifier)('T')
      PsiElement(>)('>')
    RsTypeParamBoundsImpl(TYPE_PARAM_BOUNDS)
      PsiElement(:)(':')
      PsiWhiteSpace(' ')
      RsPolyboundImpl(POLYBOUND)
        RsBoundImpl(BOUND)
          RsTraitRefImpl(TRAIT_REF)
            RsPathImpl(PATH)
              PsiElement(identifier)('Bound')
    PsiWhiteSpace(' ')
    RsWhereClauseImpl(WHERE_CLAUSE)
      PsiElement(where)('where')
      PsiWhiteSpace(' ')
      RsWherePredImpl(WHERE_PRED)
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('T')
        RsTypeParamBoundsImpl(TYPE_PARAM_BOUNDS)
          PsiElement(:)(':')
          PsiWhiteSpace(' ')
          RsPolyboundImpl(POLYBOUND)
            RsBoundImpl(BOUND)
              RsTraitRefImpl(TRAIT_REF)
                RsPathImpl(PATH)
                  PsiElement(identifier)('Bound')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    RsUnitTypeImpl(UNIT_TYPE)
      PsiElement(()('(')
      PsiElement())(')')
    PsiWhiteSpace(' ')
    RsWhereClauseImpl(WHERE_CLAUSE)
      PsiElement(where)('where')
      PsiWhiteSpace(' ')
      RsWherePredImpl(WHERE_PRED)
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('T')
        RsTypeParamBoundsImpl(TYPE_PARAM_BOUNDS)
          PsiElement(:)(':')
          PsiWhiteSpace(' ')
          RsPolyboundImpl(POLYBOUND)
            RsBoundImpl(BOUND)
              RsTraitRefImpl(TRAIT_REF)
                RsPathImpl(PATH)
                  PsiElement(identifier)('Bound')
    PsiElement(;)(';')
