FILE
  RsFunctionImpl(FUNCTION)
    PsiElement(fn)('fn')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('main')
    RsValueParameterListImpl(VALUE_PARAMETER_LIST)
      PsiElement(()('(')
      PsiElement())(')')
    PsiWhiteSpace(' ')
    RsBlockImpl(BLOCK)
      PsiElement({)('{')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsPathExprImpl(PATH_EXPR)
          RsPathImpl(PATH)
            PsiElement(identifier)('foo')
            RsTypeArgumentListImpl(TYPE_ARGUMENT_LIST)
              PsiElement(::)('::')
              PsiElement(<)('<')
              RsLifetimeImpl(LIFETIME)
                PsiElement(QUOTE_IDENTIFIER)(''static')
              PsiErrorElement:'+', ',', '::', <expr>, <path start>, <type>, '>', QUOTE_IDENTIFIER or '{' expected, got ':'
                <empty list>
      PsiElement(:)(':')
      PsiWhiteSpace(' ')
      PsiElement(QUOTE_IDENTIFIER)(''static')
      PsiErrorElement:':' expected, got '>'
        PsiElement(>)('>')
      RsExprStmtImpl(EXPR_STMT)
        RsUnitExprImpl(UNIT_EXPR)
          PsiElement(()('(')
          PsiElement())(')')
      PsiWhiteSpace('\n')
      PsiElement(})('}')
