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)
        RsBinaryExprImpl(BINARY_EXPR)
          RsPathExprImpl(PATH_EXPR)
            RsPathImpl(PATH)
              PsiElement(identifier)('r')
          PsiWhiteSpace(' ')
          RsBinaryOpImpl(BINARY_OP)
            PsiElement(=)('=')
          PsiWhiteSpace(' ')
          RsRangeExprImpl(RANGE_EXPR)
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('1')
            PsiElement(..)('..')
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('2')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsBinaryExprImpl(BINARY_EXPR)
          RsPathExprImpl(PATH_EXPR)
            RsPathImpl(PATH)
              PsiElement(identifier)('r')
          PsiWhiteSpace(' ')
          RsBinaryOpImpl(BINARY_OP)
            PsiElement(=)('=')
          PsiWhiteSpace('  ')
          RsRangeExprImpl(RANGE_EXPR)
            PsiElement(..)('..')
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('2')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsBinaryExprImpl(BINARY_EXPR)
          RsPathExprImpl(PATH_EXPR)
            RsPathImpl(PATH)
              PsiElement(identifier)('r')
          PsiWhiteSpace(' ')
          RsBinaryOpImpl(BINARY_OP)
            PsiElement(=)('=')
          PsiWhiteSpace(' ')
          RsRangeExprImpl(RANGE_EXPR)
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('1')
            PsiElement(..)('..')
        PsiWhiteSpace(' ')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsBinaryExprImpl(BINARY_EXPR)
          RsPathExprImpl(PATH_EXPR)
            RsPathImpl(PATH)
              PsiElement(identifier)('r')
          PsiWhiteSpace(' ')
          RsBinaryOpImpl(BINARY_OP)
            PsiElement(=)('=')
          PsiWhiteSpace('  ')
          RsRangeExprImpl(RANGE_EXPR)
            PsiElement(..)('..')
        PsiWhiteSpace(' ')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsBinaryExprImpl(BINARY_EXPR)
          RsPathExprImpl(PATH_EXPR)
            RsPathImpl(PATH)
              PsiElement(identifier)('r')
          PsiWhiteSpace(' ')
          RsBinaryOpImpl(BINARY_OP)
            PsiElement(=)('=')
          PsiWhiteSpace(' ')
          RsRangeExprImpl(RANGE_EXPR)
            RsBlockExprImpl(BLOCK_EXPR)
              RsBlockImpl(BLOCK)
                PsiElement({)('{')
                RsExprStmtImpl(EXPR_STMT)
                  RsLitExprImpl(LIT_EXPR)
                    PsiElement(INTEGER_LITERAL)('1')
                PsiElement(})('}')
            PsiElement(..)('..')
            RsBlockExprImpl(BLOCK_EXPR)
              RsBlockImpl(BLOCK)
                PsiElement({)('{')
                RsExprStmtImpl(EXPR_STMT)
                  RsLitExprImpl(LIT_EXPR)
                    PsiElement(INTEGER_LITERAL)('2')
                PsiElement(})('}')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsBinaryExprImpl(BINARY_EXPR)
          RsPathExprImpl(PATH_EXPR)
            RsPathImpl(PATH)
              PsiElement(identifier)('r')
          PsiWhiteSpace(' ')
          RsBinaryOpImpl(BINARY_OP)
            PsiElement(=)('=')
          PsiWhiteSpace(' ')
          RsRangeExprImpl(RANGE_EXPR)
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('1')
            PsiElement(...)('...')
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('10')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsBinaryExprImpl(BINARY_EXPR)
          RsPathExprImpl(PATH_EXPR)
            RsPathImpl(PATH)
              PsiElement(identifier)('r')
          PsiWhiteSpace(' ')
          RsBinaryOpImpl(BINARY_OP)
            PsiElement(=)('=')
          PsiWhiteSpace(' ')
          RsRangeExprImpl(RANGE_EXPR)
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('1')
            PsiWhiteSpace(' ')
            PsiElement(...)('...')
            PsiWhiteSpace(' ')
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('10')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsBinaryExprImpl(BINARY_EXPR)
          RsPathExprImpl(PATH_EXPR)
            RsPathImpl(PATH)
              PsiElement(identifier)('r')
          PsiWhiteSpace(' ')
          RsBinaryOpImpl(BINARY_OP)
            PsiElement(=)('=')
          PsiWhiteSpace(' ')
          RsRangeExprImpl(RANGE_EXPR)
            PsiElement(...)('...')
            PsiWhiteSpace(' ')
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('10')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsBinaryExprImpl(BINARY_EXPR)
          RsPathExprImpl(PATH_EXPR)
            RsPathImpl(PATH)
              PsiElement(identifier)('r')
          PsiWhiteSpace(' ')
          RsBinaryOpImpl(BINARY_OP)
            PsiElement(=)('=')
          PsiWhiteSpace(' ')
          RsRangeExprImpl(RANGE_EXPR)
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('1')
            PsiElement(..=)('..=')
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('10')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsBinaryExprImpl(BINARY_EXPR)
          RsPathExprImpl(PATH_EXPR)
            RsPathImpl(PATH)
              PsiElement(identifier)('r')
          PsiWhiteSpace(' ')
          RsBinaryOpImpl(BINARY_OP)
            PsiElement(=)('=')
          PsiWhiteSpace(' ')
          RsRangeExprImpl(RANGE_EXPR)
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('1')
            PsiWhiteSpace(' ')
            PsiElement(..=)('..=')
            PsiWhiteSpace(' ')
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('10')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsBinaryExprImpl(BINARY_EXPR)
          RsPathExprImpl(PATH_EXPR)
            RsPathImpl(PATH)
              PsiElement(identifier)('r')
          PsiWhiteSpace(' ')
          RsBinaryOpImpl(BINARY_OP)
            PsiElement(=)('=')
          PsiWhiteSpace(' ')
          RsRangeExprImpl(RANGE_EXPR)
            PsiElement(..=)('..=')
            PsiWhiteSpace(' ')
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('10')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsBinaryExprImpl(BINARY_EXPR)
          RsPathExprImpl(PATH_EXPR)
            RsPathImpl(PATH)
              PsiElement(identifier)('r')
          PsiWhiteSpace(' ')
          RsBinaryOpImpl(BINARY_OP)
            PsiElement(=)('=')
          PsiWhiteSpace(' ')
          RsRangeExprImpl(RANGE_EXPR)
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('1')
            PsiElement(..=)('..=')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsBinaryExprImpl(BINARY_EXPR)
          RsPathExprImpl(PATH_EXPR)
            RsPathImpl(PATH)
              PsiElement(identifier)('r')
          PsiWhiteSpace(' ')
          RsBinaryOpImpl(BINARY_OP)
            PsiElement(=)('=')
          PsiWhiteSpace(' ')
          RsRangeExprImpl(RANGE_EXPR)
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('1')
            PsiElement(...)('...')
        PsiElement(;)(';')
      PsiWhiteSpace('\n\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsForExprImpl(FOR_EXPR)
          PsiElement(for)('for')
          PsiWhiteSpace(' ')
          RsPatIdentImpl(PAT_IDENT)
            RsPatBindingImpl(PAT_BINDING)
              PsiElement(identifier)('i')
          PsiWhiteSpace(' ')
          PsiElement(in)('in')
          PsiWhiteSpace(' ')
          RsRangeExprImpl(RANGE_EXPR)
            RsLitExprImpl(LIT_EXPR)
              PsiElement(INTEGER_LITERAL)('0')
            PsiElement(..)('..')
          PsiWhiteSpace(' ')
          RsBlockImpl(BLOCK)
            PsiElement({)('{')
            PsiWhiteSpace('\n        ')
            RsExprStmtImpl(EXPR_STMT)
              RsLitExprImpl(LIT_EXPR)
                PsiElement(INTEGER_LITERAL)('2')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
      PsiWhiteSpace('\n')
      PsiElement(})('}')
