无法使用单空序列选项与 case,或选项序列与一个默认子句。
我期望
bq. (case 1 () :a :none)
返回 :none,但实际返回一个没有信息的异常:"Unhandled clojure.lang.ArityException: Wrong number of args (-2) passed to: core/max"
我期望 (case 1 () :a) 抛出 "java.lang.IllegalArgumentException: No matching clause" 异常,但它也抛出
"Unhandled clojure.lang.ArityException: Wrong number of args (-2) passed to: core/max"
这似乎不一致,因为在有其他选项时传递空列表是允许的
bq. (case 1 () :a 2 :b :none)
返回 :none,符合预期
附带的补丁在进一步转换为 case** 之前删除了具有空测试列表的测试子句对,并添加了测试。