Documentation
SOURCE_FILE@0..257
  COMMENT@0..58 "// https://github.com ..."
  WHITESPACE@58..60 "\n\n"
  FN@60..256
    FN_KW@60..62 "fn"
    WHITESPACE@62..63 " "
    NAME@63..82
      IDENT@63..82 "compound_assignment"
    PARAM_LIST@82..84
      L_PAREN@82..83 "("
      R_PAREN@83..84 ")"
    WHITESPACE@84..85 " "
    BLOCK_EXPR@85..256
      STMT_LIST@85..256
        L_CURLY@85..86 "{"
        WHITESPACE@86..91 "\n    "
        LET_STMT@91..105
          LET_KW@91..94 "let"
          WHITESPACE@94..95 " "
          IDENT_PAT@95..100
            MUT_KW@95..98 "mut"
            WHITESPACE@98..99 " "
            NAME@99..100
              IDENT@99..100 "a"
          WHITESPACE@100..101 " "
          EQ@101..102 "="
          WHITESPACE@102..103 " "
          LITERAL@103..104
            INT_NUMBER@103..104 "0"
          SEMICOLON@104..105 ";"
        WHITESPACE@105..110 "\n    "
        EXPR_STMT@110..117
          BIN_EXPR@110..116
            PATH_EXPR@110..111
              PATH@110..111
                PATH_SEGMENT@110..111
                  NAME_REF@110..111
                    IDENT@110..111 "a"
            WHITESPACE@111..112 " "
            PLUSEQ@112..114 "+="
            WHITESPACE@114..115 " "
            LITERAL@115..116
              INT_NUMBER@115..116 "1"
          SEMICOLON@116..117 ";"
        WHITESPACE@117..122 "\n    "
        EXPR_STMT@122..129
          BIN_EXPR@122..128
            PATH_EXPR@122..123
              PATH@122..123
                PATH_SEGMENT@122..123
                  NAME_REF@122..123
                    IDENT@122..123 "a"
            WHITESPACE@123..124 " "
            MINUSEQ@124..126 "-="
            WHITESPACE@126..127 " "
            LITERAL@127..128
              INT_NUMBER@127..128 "2"
          SEMICOLON@128..129 ";"
        WHITESPACE@129..134 "\n    "
        EXPR_STMT@134..141
          BIN_EXPR@134..140
            PATH_EXPR@134..135
              PATH@134..135
                PATH_SEGMENT@134..135
                  NAME_REF@134..135
                    IDENT@134..135 "a"
            WHITESPACE@135..136 " "
            STAREQ@136..138 "*="
            WHITESPACE@138..139 " "
            LITERAL@139..140
              INT_NUMBER@139..140 "3"
          SEMICOLON@140..141 ";"
        WHITESPACE@141..146 "\n    "
        EXPR_STMT@146..153
          BIN_EXPR@146..152
            PATH_EXPR@146..147
              PATH@146..147
                PATH_SEGMENT@146..147
                  NAME_REF@146..147
                    IDENT@146..147 "a"
            WHITESPACE@147..148 " "
            PERCENTEQ@148..150 "%="
            WHITESPACE@150..151 " "
            LITERAL@151..152
              INT_NUMBER@151..152 "4"
          SEMICOLON@152..153 ";"
        WHITESPACE@153..158 "\n    "
        EXPR_STMT@158..165
          BIN_EXPR@158..164
            PATH_EXPR@158..159
              PATH@158..159
                PATH_SEGMENT@158..159
                  NAME_REF@158..159
                    IDENT@158..159 "a"
            WHITESPACE@159..160 " "
            SLASHEQ@160..162 "/="
            WHITESPACE@162..163 " "
            LITERAL@163..164
              INT_NUMBER@163..164 "5"
          SEMICOLON@164..165 ";"
        WHITESPACE@165..170 "\n    "
        EXPR_STMT@170..177
          BIN_EXPR@170..176
            PATH_EXPR@170..171
              PATH@170..171
                PATH_SEGMENT@170..171
                  NAME_REF@170..171
                    IDENT@170..171 "a"
            WHITESPACE@171..172 " "
            PIPEEQ@172..174 "|="
            WHITESPACE@174..175 " "
            LITERAL@175..176
              INT_NUMBER@175..176 "6"
          SEMICOLON@176..177 ";"
        WHITESPACE@177..182 "\n    "
        EXPR_STMT@182..189
          BIN_EXPR@182..188
            PATH_EXPR@182..183
              PATH@182..183
                PATH_SEGMENT@182..183
                  NAME_REF@182..183
                    IDENT@182..183 "a"
            WHITESPACE@183..184 " "
            AMPEQ@184..186 "&="
            WHITESPACE@186..187 " "
            LITERAL@187..188
              INT_NUMBER@187..188 "7"
          SEMICOLON@188..189 ";"
        WHITESPACE@189..194 "\n    "
        EXPR_STMT@194..201
          BIN_EXPR@194..200
            PATH_EXPR@194..195
              PATH@194..195
                PATH_SEGMENT@194..195
                  NAME_REF@194..195
                    IDENT@194..195 "a"
            WHITESPACE@195..196 " "
            CARETEQ@196..198 "^="
            WHITESPACE@198..199 " "
            LITERAL@199..200
              INT_NUMBER@199..200 "8"
          SEMICOLON@200..201 ";"
        WHITESPACE@201..206 "\n    "
        EXPR_STMT@206..213
          BIN_EXPR@206..212
            PATH_EXPR@206..207
              PATH@206..207
                PATH_SEGMENT@206..207
                  NAME_REF@206..207
                    IDENT@206..207 "a"
            WHITESPACE@207..208 " "
            LTEQ@208..210 "<="
            WHITESPACE@210..211 " "
            LITERAL@211..212
              INT_NUMBER@211..212 "9"
          SEMICOLON@212..213 ";"
        WHITESPACE@213..218 "\n    "
        EXPR_STMT@218..226
          BIN_EXPR@218..225
            PATH_EXPR@218..219
              PATH@218..219
                PATH_SEGMENT@218..219
                  NAME_REF@218..219
                    IDENT@218..219 "a"
            WHITESPACE@219..220 " "
            GTEQ@220..222 ">="
            WHITESPACE@222..223 " "
            LITERAL@223..225
              INT_NUMBER@223..225 "10"
          SEMICOLON@225..226 ";"
        WHITESPACE@226..231 "\n    "
        EXPR_STMT@231..240
          BIN_EXPR@231..239
            PATH_EXPR@231..232
              PATH@231..232
                PATH_SEGMENT@231..232
                  NAME_REF@231..232
                    IDENT@231..232 "a"
            WHITESPACE@232..233 " "
            SHREQ@233..236 ">>="
            WHITESPACE@236..237 " "
            LITERAL@237..239
              INT_NUMBER@237..239 "11"
          SEMICOLON@239..240 ";"
        WHITESPACE@240..245 "\n    "
        EXPR_STMT@245..254
          BIN_EXPR@245..253
            PATH_EXPR@245..246
              PATH@245..246
                PATH_SEGMENT@245..246
                  NAME_REF@245..246
                    IDENT@245..246 "a"
            WHITESPACE@246..247 " "
            SHLEQ@247..250 "<<="
            WHITESPACE@250..251 " "
            LITERAL@251..253
              INT_NUMBER@251..253 "12"
          SEMICOLON@253..254 ";"
        WHITESPACE@254..255 "\n"
        R_CURLY@255..256 "}"
  WHITESPACE@256..257 "\n"