FILE
  RsUseItemImpl(USE_ITEM)
    PsiElement(use)('use')
    PsiWhiteSpace(' ')
    RsUseSpeckImpl(USE_SPECK)
      RsPathImpl(PATH)
        PsiElement(::)('::')
        PsiErrorElement:identifier expected, got ';'
          <empty list>
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsUseItemImpl(USE_ITEM)
    PsiElement(use)('use')
    PsiWhiteSpace(' ')
    RsUseSpeckImpl(USE_SPECK)
      RsPathImpl(PATH)
        RsPathImpl(PATH)
          PsiElement(::)('::')
          PsiErrorElement:identifier expected, got '::'
            <empty list>
        PsiElement(::)('::')
        PsiErrorElement:identifier expected, got ';'
          <empty list>
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsUseItemImpl(USE_ITEM)
    PsiElement(use)('use')
    PsiWhiteSpace(' ')
    RsUseSpeckImpl(USE_SPECK)
      RsPathImpl(PATH)
        RsPathImpl(PATH)
          PsiElement(identifier)('foo')
        PsiElement(::)('::')
        PsiErrorElement:identifier expected, got ';'
          <empty list>
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsUseItemImpl(USE_ITEM)
    PsiElement(use)('use')
    PsiWhiteSpace(' ')
    RsUseSpeckImpl(USE_SPECK)
      RsPathImpl(PATH)
        RsPathImpl(PATH)
          RsPathImpl(PATH)
            PsiElement(identifier)('foo')
          PsiElement(::)('::')
          PsiErrorElement:identifier expected, got '::'
            <empty list>
        PsiElement(::)('::')
        PsiErrorElement:identifier expected, got ';'
          <empty list>
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsUseItemImpl(USE_ITEM)
    PsiElement(use)('use')
    PsiWhiteSpace(' ')
    RsUseSpeckImpl(USE_SPECK)
      RsPathImpl(PATH)
        RsPathImpl(PATH)
          RsPathImpl(PATH)
            PsiElement(identifier)('foo')
          PsiElement(::)('::')
          PsiErrorElement:identifier expected, got '::'
            <empty list>
        PsiElement(::)('::')
        PsiElement(identifier)('bar')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsUseItemImpl(USE_ITEM)
    PsiElement(use)('use')
    PsiWhiteSpace(' ')
    RsUseSpeckImpl(USE_SPECK)
      RsPathImpl(PATH)
        RsPathImpl(PATH)
          RsPathImpl(PATH)
            PsiElement(identifier)('foo')
          PsiElement(::)('::')
          PsiElement(identifier)('bar')
        PsiElement(::)('::')
        PsiErrorElement:identifier expected, got ';'
          <empty list>
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsFunctionImpl(FUNCTION)
    PsiElement(fn)('fn')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('foo')
    RsValueParameterListImpl(VALUE_PARAMETER_LIST)
      PsiElement(()('(')
      PsiElement())(')')
    PsiWhiteSpace(' ')
    RsBlockImpl(BLOCK)
      PsiElement({)('{')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsPathExprImpl(PATH_EXPR)
          RsPathImpl(PATH)
            PsiElement(::)('::')
            PsiErrorElement:'!', '::', identifier or '{' expected, got ';'
              <empty list>
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsPathExprImpl(PATH_EXPR)
          RsPathImpl(PATH)
            RsPathImpl(PATH)
              PsiElement(::)('::')
              PsiErrorElement:'::', < or identifier expected, got '::'
                <empty list>
            PsiElement(::)('::')
            PsiErrorElement:'!', '::', <, identifier or '{' expected, got ';'
              <empty list>
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsPathExprImpl(PATH_EXPR)
          RsPathImpl(PATH)
            RsPathImpl(PATH)
              PsiElement(identifier)('Foo')
            PsiElement(::)('::')
            PsiErrorElement:'!', '::', <, identifier or '{' expected, got ';'
              <empty list>
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsPathExprImpl(PATH_EXPR)
          RsPathImpl(PATH)
            RsPathImpl(PATH)
              RsPathImpl(PATH)
                PsiElement(identifier)('Foo')
              PsiElement(::)('::')
              PsiErrorElement:'::', < or identifier expected, got '::'
                <empty list>
            PsiElement(::)('::')
            PsiErrorElement:'!', '::', <, identifier or '{' expected, got ';'
              <empty list>
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsPathExprImpl(PATH_EXPR)
          RsPathImpl(PATH)
            RsPathImpl(PATH)
              RsPathImpl(PATH)
                PsiElement(identifier)('Foo')
              PsiElement(::)('::')
              PsiErrorElement:'::', < or identifier expected, got '::'
                <empty list>
            PsiElement(::)('::')
            PsiElement(identifier)('bar')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsPathExprImpl(PATH_EXPR)
          RsPathImpl(PATH)
            RsPathImpl(PATH)
              RsPathImpl(PATH)
                PsiElement(identifier)('Foo')
              PsiElement(::)('::')
              PsiElement(identifier)('bar')
            PsiElement(::)('::')
            PsiErrorElement:'!', '::', <, identifier or '{' expected, got ';'
              <empty list>
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsPathExprImpl(PATH_EXPR)
          RsPathImpl(PATH)
            RsPathImpl(PATH)
              PsiElement(identifier)('Foo')
              RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
                PsiElement(::)('::')
                PsiElement(<)('<')
                RsPathTypeImpl(PATH_TYPE)
                  RsPathImpl(PATH)
                    PsiElement(identifier)('bar')
                PsiElement(>)('>')
            PsiElement(::)('::')
            PsiErrorElement:'::', identifier or '{' expected, got ';'
              <empty list>
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsPathExprImpl(PATH_EXPR)
          RsPathImpl(PATH)
            RsPathImpl(PATH)
              PsiElement(identifier)('Foo')
              RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
                PsiElement(::)('::')
                PsiElement(<)('<')
                RsPathTypeImpl(PATH_TYPE)
                  RsPathImpl(PATH)
                    RsPathImpl(PATH)
                      PsiElement(identifier)('bar')
                    PsiElement(::)('::')
                    PsiErrorElement:'(', ',', '::', <, <path parameters>, <type argument list>, '>' or identifier expected, got '>'
                      <empty list>
                PsiElement(>)('>')
            PsiElement(::)('::')
            PsiElement(identifier)('baz')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsPathExprImpl(PATH_EXPR)
          RsPathImpl(PATH)
            RsTypeQualImpl(TYPE_QUAL)
              PsiElement(<)('<')
              RsPathTypeImpl(PATH_TYPE)
                RsPathImpl(PATH)
                  PsiElement(identifier)('Foo')
              PsiWhiteSpace(' ')
              PsiElement(as)('as')
              PsiWhiteSpace(' ')
              RsTraitRefImpl(TRAIT_REF)
                RsPathImpl(PATH)
                  PsiElement(identifier)('Bar')
              PsiElement(>)('>')
              PsiElement(::)('::')
            PsiErrorElement:identifier expected, got ';'
              <empty list>
        PsiElement(;)(';')
      PsiWhiteSpace('\n')
      PsiElement(})('}')
