SOURCE_FILE
  MACRO_DEF
    MACRO_KW "macro"
    WHITESPACE " "
    NAME
      IDENT "parse_use_trees"
    TOKEN_TREE
      TOKEN_TREE
        L_PAREN "("
        DOLLAR "$"
        TOKEN_TREE
          L_PAREN "("
          DOLLAR "$"
          IDENT "s"
          COLON ":"
          IDENT "expr"
          R_PAREN ")"
        COMMA ","
        STAR "*"
        WHITESPACE " "
        DOLLAR "$"
        TOKEN_TREE
          L_PAREN "("
          COMMA ","
          R_PAREN ")"
        STAR "*"
        R_PAREN ")"
      WHITESPACE " "
      TOKEN_TREE
        L_CURLY "{"
        WHITESPACE "\n    "
        IDENT "vec"
        BANG "!"
        TOKEN_TREE
          L_BRACK "["
          WHITESPACE "\n        "
          DOLLAR "$"
          TOKEN_TREE
            L_PAREN "("
            IDENT "parse_use_tree"
            TOKEN_TREE
              L_PAREN "("
              DOLLAR "$"
              IDENT "s"
              R_PAREN ")"
            COMMA ","
            R_PAREN ")"
          STAR "*"
          WHITESPACE "\n    "
          R_BRACK "]"
        WHITESPACE "\n"
        R_CURLY "}"
  WHITESPACE "\n\n"
  FN
    ATTR
      POUND "#"
      L_BRACK "["
      META
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "test"
      R_BRACK "]"
    WHITESPACE "\n"
    FN_KW "fn"
    WHITESPACE " "
    NAME
      IDENT "test_use_tree_merge"
    PARAM_LIST
      L_PAREN "("
      R_PAREN ")"
    WHITESPACE " "
    BLOCK_EXPR
      STMT_LIST
        L_CURLY "{"
        WHITESPACE "\n    "
        MACRO_DEF
          MACRO_KW "macro"
          WHITESPACE " "
          NAME
            IDENT "test_merge"
          TOKEN_TREE
            TOKEN_TREE
              L_PAREN "("
              TOKEN_TREE
                L_BRACK "["
                DOLLAR "$"
                TOKEN_TREE
                  L_PAREN "("
                  DOLLAR "$"
                  IDENT "input"
                  COLON ":"
                  IDENT "expr"
                  R_PAREN ")"
                COMMA ","
                STAR "*"
                WHITESPACE " "
                DOLLAR "$"
                TOKEN_TREE
                  L_PAREN "("
                  COMMA ","
                  R_PAREN ")"
                STAR "*"
                R_BRACK "]"
              COMMA ","
              WHITESPACE " "
              TOKEN_TREE
                L_BRACK "["
                DOLLAR "$"
                TOKEN_TREE
                  L_PAREN "("
                  DOLLAR "$"
                  IDENT "output"
                  COLON ":"
                  IDENT "expr"
                  R_PAREN ")"
                COMMA ","
                STAR "*"
                WHITESPACE " "
                DOLLAR "$"
                TOKEN_TREE
                  L_PAREN "("
                  COMMA ","
                  R_PAREN ")"
                STAR "*"
                R_BRACK "]"
              R_PAREN ")"
            WHITESPACE " "
            TOKEN_TREE
              L_CURLY "{"
              WHITESPACE "\n        "
              IDENT "assert_eq"
              BANG "!"
              TOKEN_TREE
                L_PAREN "("
                WHITESPACE "\n            "
                IDENT "merge_use_trees"
                TOKEN_TREE
                  L_PAREN "("
                  IDENT "parse_use_trees"
                  BANG "!"
                  TOKEN_TREE
                    L_PAREN "("
                    DOLLAR "$"
                    TOKEN_TREE
                      L_PAREN "("
                      DOLLAR "$"
                      IDENT "input"
                      COMMA ","
                      R_PAREN ")"
                    STAR "*"
                    R_PAREN ")"
                  R_PAREN ")"
                COMMA ","
                WHITESPACE "\n            "
                IDENT "parse_use_trees"
                BANG "!"
                TOKEN_TREE
                  L_PAREN "("
                  DOLLAR "$"
                  TOKEN_TREE
                    L_PAREN "("
                    DOLLAR "$"
                    IDENT "output"
                    COMMA ","
                    R_PAREN ")"
                  STAR "*"
                  R_PAREN ")"
                COMMA ","
                WHITESPACE "\n        "
                R_PAREN ")"
              SEMICOLON ";"
              WHITESPACE "\n    "
              R_CURLY "}"
        WHITESPACE "\n"
        R_CURLY "}"
  WHITESPACE "\n"
