ra_ap_syntax 0.0.4

Comment and whitespace preserving parser for the Rust language
Documentation
SOURCE_FILE@0..103
  FN@0..102
    FN_KW@0..2 "fn"
    WHITESPACE@2..3 " "
    NAME@3..6
      IDENT@3..6 "foo"
    PARAM_LIST@6..8
      L_PAREN@6..7 "("
      R_PAREN@7..8 ")"
    WHITESPACE@8..9 " "
    BLOCK_EXPR@9..102
      L_CURLY@9..10 "{"
      WHITESPACE@10..15 "\n    "
      LET_STMT@15..33
        LET_KW@15..18 "let"
        WHITESPACE@18..19 " "
        PATH_PAT@19..27
          PATH@19..27
            PATH@19..22
              PATH_SEGMENT@19..22
                NAME_REF@19..22
                  IDENT@19..22 "foo"
            COLON2@22..24 "::"
            PATH_SEGMENT@24..27
              NAME_REF@24..27
                IDENT@24..27 "Bar"
        WHITESPACE@27..28 " "
        EQ@28..29 "="
        WHITESPACE@29..30 " "
        TUPLE_EXPR@30..32
          L_PAREN@30..31 "("
          R_PAREN@31..32 ")"
        SEMICOLON@32..33 ";"
      WHITESPACE@33..38 "\n    "
      LET_STMT@38..53
        LET_KW@38..41 "let"
        WHITESPACE@41..42 " "
        PATH_PAT@42..47
          PATH@42..47
            PATH_SEGMENT@42..47
              COLON2@42..44 "::"
              NAME_REF@44..47
                IDENT@44..47 "Bar"
        WHITESPACE@47..48 " "
        EQ@48..49 "="
        WHITESPACE@49..50 " "
        TUPLE_EXPR@50..52
          L_PAREN@50..51 "("
          R_PAREN@51..52 ")"
        SEMICOLON@52..53 ";"
      WHITESPACE@53..58 "\n    "
      LET_STMT@58..78
        LET_KW@58..61 "let"
        WHITESPACE@61..62 " "
        RECORD_PAT@62..72
          PATH@62..65
            PATH_SEGMENT@62..65
              NAME_REF@62..65
                IDENT@62..65 "Bar"
          WHITESPACE@65..66 " "
          RECORD_PAT_FIELD_LIST@66..72
            L_CURLY@66..67 "{"
            WHITESPACE@67..68 " "
            DOT2@68..70 ".."
            WHITESPACE@70..71 " "
            R_CURLY@71..72 "}"
        WHITESPACE@72..73 " "
        EQ@73..74 "="
        WHITESPACE@74..75 " "
        TUPLE_EXPR@75..77
          L_PAREN@75..76 "("
          R_PAREN@76..77 ")"
        SEMICOLON@77..78 ";"
      WHITESPACE@78..83 "\n    "
      LET_STMT@83..100
        LET_KW@83..86 "let"
        WHITESPACE@86..87 " "
        TUPLE_STRUCT_PAT@87..94
          PATH@87..90
            PATH_SEGMENT@87..90
              NAME_REF@87..90
                IDENT@87..90 "Bar"
          L_PAREN@90..91 "("
          REST_PAT@91..93
            DOT2@91..93 ".."
          R_PAREN@93..94 ")"
        WHITESPACE@94..95 " "
        EQ@95..96 "="
        WHITESPACE@96..97 " "
        TUPLE_EXPR@97..99
          L_PAREN@97..98 "("
          R_PAREN@98..99 ")"
        SEMICOLON@99..100 ";"
      WHITESPACE@100..101 "\n"
      R_CURLY@101..102 "}"
  WHITESPACE@102..103 "\n"