And the root cause appears to be that the Result protocol is not extended to exception types.
There might also be an impact with the change of :result to be a Boolean (with detailed info in :result-data. (Experimenting with extending the Result protocol to exception types seems to improve things, but Spec still reports an overall value of false for :failure.)
Environment
Clojure and ClojureScript (JVM and self-host), used from Spec alpha
If you write a fn spec and use
clojure.spec.test.alpha/check
, it will catch the error with t.c 0.9.0 but not with 0.10.0-alpha1.A repro, with Clojure:
This has been bisected to this commit: https://github.com/clojure/test.check/commit/95112167af9636a48d3174ddd03409e8ac752179
And the root cause appears to be that the
Result
protocol is not extended to exception types.There might also be an impact with the change of
:result
to be a Boolean (with detailed info in:result-data
. (Experimenting with extending theResult
protocol to exception types seems to improve things, but Spec still reports an overall value offalse
for:failure
.)