FILE
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('S')
    PsiWhiteSpace(' ')
    RsBlockFieldsImpl(BLOCK_FIELDS)
      PsiElement({)('{')
      PsiWhiteSpace('\n    ')
      RsNamedFieldDeclImpl(NAMED_FIELD_DECL)
        PsiElement(identifier)('foo')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('i32')
      PsiElement(,)(',')
      PsiWhiteSpace('\n    ')
      RsNamedFieldDeclImpl(NAMED_FIELD_DECL)
        PsiElement(identifier)('bar')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('i32')
      PsiElement(,)(',')
      PsiWhiteSpace('\n    ')
      RsNamedFieldDeclImpl(NAMED_FIELD_DECL)
        PsiElement(identifier)('baz')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('i32')
      PsiElement(,)(',')
      PsiWhiteSpace('\n    ')
      RsNamedFieldDeclImpl(NAMED_FIELD_DECL)
        PsiElement(identifier)('quux')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('i32')
      PsiElement(,)(',')
      PsiWhiteSpace('\n    ')
      RsNamedFieldDeclImpl(NAMED_FIELD_DECL)
        PsiElement(identifier)('quazar')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('i32')
      PsiElement(,)(',')
      PsiWhiteSpace('\n')
      PsiElement(})('}')
  PsiWhiteSpace('\n\n')
  RsFunctionImpl(FUNCTION)
    PsiElement(fn)('fn')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('main')
    RsValueParameterListImpl(VALUE_PARAMETER_LIST)
      PsiElement(()('(')
      PsiElement())(')')
    PsiWhiteSpace(' ')
    RsBlockImpl(BLOCK)
      PsiElement({)('{')
      PsiWhiteSpace('\n    ')
      RsLetDeclImpl(LET_DECL)
        PsiElement(let)('let')
        PsiWhiteSpace(' ')
        RsPatWildImpl(PAT_WILD)
          PsiElement(_)('_')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        RsStructLiteralImpl(STRUCT_LITERAL)
          RsPathImpl(PATH)
            PsiElement(identifier)('S')
          PsiWhiteSpace(' ')
          RsStructLiteralBodyImpl(STRUCT_LITERAL_BODY)
            PsiElement({)('{')
            PsiErrorElement:<struct literal field> expected, got ','
              <empty list>
            PsiWhiteSpace('\n        ')
            PsiElement(,)(',')
            PsiWhiteSpace('\n        ')
            RsStructLiteralFieldImpl(STRUCT_LITERAL_FIELD)
              PsiElement(identifier)('foo')
              PsiElement(:)(':')
              PsiWhiteSpace(' ')
              RsLitExprImpl(LIT_EXPR)
                PsiElement(INTEGER_LITERAL)('92')
            PsiElement(,)(',')
            PsiWhiteSpace('\n        ')
            RsStructLiteralFieldImpl(STRUCT_LITERAL_FIELD)
              PsiElement(identifier)('bar')
            PsiErrorElement:',', ':' or '}' expected, got 'baz'
              <empty list>
            PsiWhiteSpace('\n        ')
            RsStructLiteralFieldImpl(STRUCT_LITERAL_FIELD)
              PsiElement(identifier)('baz')
              PsiElement(:)(':')
              PsiWhiteSpace(' ')
              RsLitExprImpl(LIT_EXPR)
                PsiElement(INTEGER_LITERAL)('62')
            PsiElement(,)(',')
            PsiWhiteSpace('\n        ')
            RsStructLiteralFieldImpl(STRUCT_LITERAL_FIELD)
              PsiElement(identifier)('quux')
              PsiElement(:)(':')
              PsiErrorElement:<expr> expected, got ','
                <empty list>
            PsiWhiteSpace(' ')
            PsiElement(,)(',')
            PsiWhiteSpace('\n        ')
            RsStructLiteralFieldImpl(STRUCT_LITERAL_FIELD)
              PsiElement(identifier)('quazar')
              PsiElement(:)(':')
              PsiWhiteSpace(' ')
              RsLitExprImpl(LIT_EXPR)
                PsiElement(INTEGER_LITERAL)('42')
            PsiElement(,)(',')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiElement(;)(';')
      PsiWhiteSpace('\n\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsBinaryExprImpl(BINARY_EXPR)
          RsLitExprImpl(LIT_EXPR)
            PsiElement(INTEGER_LITERAL)('2')
          RsBinaryOpImpl(BINARY_OP)
            PsiElement(+)('+')
          RsLitExprImpl(LIT_EXPR)
            PsiElement(INTEGER_LITERAL)('2')
        PsiElement(;)(';')
      PsiWhiteSpace(' ')
      PsiComment(<EOL_COMMENT>)('// Checks that stmts parsed correctly after broken struct literal')
      PsiWhiteSpace('\n')
      PsiElement(})('}')
