bhb / expound

Human-optimized error messages for clojure.spec
Eclipse Public License 1.0
923 stars 24 forks source link

Alternation for missing element doesn't display correctly #106

Open bhb opened 6 years ago

bhb commented 6 years ago

Repro:

(require '[expound.alpha :as expound])
(require '[clojure.spec.alpha :as s])
(set! s/*explain-out* expound/printer)
(defn hello "hello world")

Actual:

-- Syntax error -------------------

  (hello "hello world")

should have additional elements. The next element is named `:args` and satisfies

  (clojure.spec.alpha/alt
   :arity-1
   :clojure.core.specs.alpha/args+body
   :arity-n
   (clojure.spec.alpha/cat
    :bodies
    (clojure.spec.alpha/+
     (clojure.spec.alpha/spec :clojure.core.specs.alpha/args+body))
    :attr
(clojure.spec.alpha/? map?)))

Expected:

The inner alt should be displayed as a series of or clauses

bhb commented 6 years ago

This appears to be an issue with spec https://dev.clojure.org/jira/browse/CLJ-2364