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)
        RsWhileExprImpl(WHILE_EXPR)
          RsLabelDeclImpl(LABEL_DECL)
            PsiElement(QUOTE_IDENTIFIER)(''label')
            PsiElement(:)(':')
          PsiWhiteSpace(' ')
          PsiElement(while)('while')
          PsiWhiteSpace(' ')
          RsConditionImpl(CONDITION)
            RsLetExprImpl(LET_EXPR)
              PsiElement(let)('let')
              PsiWhiteSpace(' ')
              RsPatTupleStructImpl(PAT_TUPLE_STRUCT)
                RsPathImpl(PATH)
                  PsiElement(identifier)('Some')
                PsiElement(()('(')
                RsPatWildImpl(PAT_WILD)
                  PsiElement(_)('_')
                PsiElement())(')')
              PsiWhiteSpace(' ')
              PsiElement(=)('=')
              PsiWhiteSpace(' ')
              RsCallExprImpl(CALL_EXPR)
                RsPathExprImpl(PATH_EXPR)
                  RsPathImpl(PATH)
                    PsiElement(identifier)('Some')
                RsValueArgumentListImpl(VALUE_ARGUMENT_LIST)
                  PsiElement(()('(')
                  RsLitExprImpl(LIT_EXPR)
                    PsiElement(INTEGER_LITERAL)('92')
                  PsiElement())(')')
          PsiWhiteSpace(' ')
          RsBlockImpl(BLOCK)
            PsiElement({)('{')
            PsiElement(})('}')
      PsiWhiteSpace('\n\n    ')
      RsLetDeclImpl(LET_DECL)
        PsiElement(let)('let')
        PsiWhiteSpace(' ')
        RsPatWildImpl(PAT_WILD)
          PsiElement(_)('_')
        PsiWhiteSpace('  ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        RsLoopExprImpl(LOOP_EXPR)
          PsiElement(loop)('loop')
          PsiWhiteSpace(' ')
          RsBlockImpl(BLOCK)
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            RsExprStmtImpl(EXPR_STMT)
              RsBreakExprImpl(BREAK_EXPR)
                PsiElement(break)('break')
                PsiWhiteSpace(' ')
                RsLitExprImpl(LIT_EXPR)
                  PsiElement(INTEGER_LITERAL)('92')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      RsLetDeclImpl(LET_DECL)
        PsiElement(let)('let')
        PsiWhiteSpace(' ')
        RsPatWildImpl(PAT_WILD)
          PsiElement(_)('_')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        RsLoopExprImpl(LOOP_EXPR)
          RsLabelDeclImpl(LABEL_DECL)
            PsiElement(QUOTE_IDENTIFIER)(''l')
            PsiElement(:)(':')
          PsiWhiteSpace(' ')
          PsiElement(loop)('loop')
          PsiWhiteSpace(' ')
          RsBlockImpl(BLOCK)
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            RsExprStmtImpl(EXPR_STMT)
              RsBreakExprImpl(BREAK_EXPR)
                PsiElement(break)('break')
                PsiWhiteSpace(' ')
                RsLabelImpl(LABEL)
                  PsiElement(QUOTE_IDENTIFIER)(''l')
                PsiWhiteSpace(' ')
                RsLitExprImpl(LIT_EXPR)
                  PsiElement(INTEGER_LITERAL)('92')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiElement(;)(';')
      PsiWhiteSpace('\n\n    ')
      RsExprStmtImpl(EXPR_STMT)
        RsLoopExprImpl(LOOP_EXPR)
          RsLabelDeclImpl(LABEL_DECL)
            PsiElement(QUOTE_IDENTIFIER)(''ll')
            PsiElement(:)(':')
          PsiWhiteSpace(' ')
          PsiElement(loop)('loop')
          PsiWhiteSpace(' ')
          RsBlockImpl(BLOCK)
            PsiElement({)('{')
            PsiWhiteSpace('\n        ')
            RsExprStmtImpl(EXPR_STMT)
              RsBreakExprImpl(BREAK_EXPR)
                PsiElement(break)('break')
                PsiWhiteSpace(' ')
                RsLabelImpl(LABEL)
                  PsiElement(QUOTE_IDENTIFIER)(''ll')
              PsiElement(;)(';')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
      PsiWhiteSpace('\n')
      PsiElement(})('}')
