当传递一个包含包含斜杠字符的字符串键的映射时,clojure.core.match/match
在宏展开期间出错。
这在Clojure和ClojureScript中都会发生。
示例
$ clj -Sdeps '{:deps {org.clojure/core.match {:mvn/version "1.0.0"}}}'
Clojure 1.10.3
user=> (require '[clojure.core.match :as match])
nil
user=> (match/match {} {"a/b" x} x)
Syntax error macroexpanding clojure.core/let at (REPL:1:1).
ocr-1539_a/b__1543 - failed: simple-symbol? at: [:bindings :form :local-symbol] spec: :clojure.core.specs.alpha/local-name
user=> (match/match {"a/b" 0} {"a/b" x} x)
Syntax error macroexpanding clojure.core/let at (REPL:1:1).
ocr-1545_a/b__1549 - failed: simple-symbol? at: [:bindings :form :local-symbol] spec: :clojure.core.specs.alpha/local-name
预期行为:它可以匹配所有字符串,即使它们包含特殊字符。