Welcome! Please see the About page for a little more info on how this works.

0 votes
in Spec by
Repro stripped down from larger piece of code:

clj -Srepro -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.10.0-alpha6"}, org.clojure/test.check {:mvn/version "0.10.0-alpha3"}}}'

(require '[clojure.spec.alpha :as s])

(s/def ::m (s/keys :req [::coll]))
(s/def ::coll (s/cat :m (s/? ::m)))

(s/conform ::m {::coll []})  ; => #:user{:coll {}}
(s/exercise ::m)  ; => StackOverflowError

Unlike in CLJ-2002, conform works fine here, but generation recurs for ever.

1 Answer

0 votes
Reference: https://clojure.atlassian.net/browse/CLJ-2377 (reported by glts)