Thanks! I understand why my version is incorrect. However, I get the same
error with the corrected spec.
On Thursday, January 17, 2019 at 3:26:24 PM UTC+1, Alex Miller wrote:
>
> Your boolean-supplier should be:
>
> (s/def ::boolean-supplier
> (s/fspec
> :args (s/cat)
> :ret boolean?))
>
>
>
> On Thursday, January 17, 2019 at 6:38:44 AM UTC-6, Josip Gracin wrote:
>>
>> Hi!
>>
>> The following test throws an exception when run using "lein test" and I
>> can't figure out why.
>>
>> (ns issue
>> (:require [clojure.test :as t]
>> [clojure.spec.alpha :as s]
>> [clojure.spec.test.alpha :as st]))
>>
>> (s/fdef ::boolean-supplier
>> :args (s/cat)
>> :ret boolean?)
>>
>> (defn make-fn [boolean-supplier]
>> (fn []
>> (boolean-supplier)))
>>
>> (s/fdef make-fn
>> :args (s/cat :supplier ::boolean-supplier))
>>
>> (t/deftest issue
>> (t/testing "issue demo"
>> (st/instrument)
>> (make-fn (fn [] true))))
>>
>> Here's the output of "lein test":
>>
>> $ lein test
>>
>> lein test issue
>>
>> lein test :only issue/issue
>>
>>
>> ERROR in (issue) (Compiler.java:7647)
>> Uncaught exception, not in assertion.
>>
>> expected: nil
>>
>> actual: clojure.lang.Compiler$CompilerException: Syntax error compiling
>> at (clojure/test/check/clojure_test.cljc:95:1).
>> #:clojure.error{:phase :compile-syntax-check, :line 95, :column 1,
>> :source "clojure/test/check/clojure_test.cljc"}
>> at clojure.lang.Compiler.load (Compiler.java:7647)
>>
>> clojure.lang.RT.loadResourceScript (RT.java:381)
>> clojure.lang.RT.loadResourceScript (RT.java:372)
>>
>> clojure.lang.RT.load (RT.java:463)
>> clojure.lang.RT.load (RT.java:428)
>> ...
>> Caused by: java.lang.ClassCastException: clojure.lang.AFunction$1 cannot
>> be cast to clojure.lang.MultiFn
>> at clojure.core$get_method.invokeStatic (core.clj:1817)
>> clojure.core$get_method.invoke (core.clj:1817)
>>
>> clojure.test.check.clojure_test$eval1131.invokeStatic
>> (clojure_test.cljc:95)
>> clojure.test.check.clojure_test$eval1131.invoke (clojure_test.cljc:95)
>> clojure.lang.Compiler.eval (Compiler.java:7176)
>>
>> clojure.lang.Compiler.load (Compiler.java:7635)
>> ...
>>
>> Using Java 10.0.2 and the following dependencies:
>>
>> $ lein deps :tree
>> [clojure-complete "0.2.5" :exclusions [[org.clojure/clojure]]]
>> [nrepl "0.5.3" :exclusions [[org.clojure/clojure]]]
>> [nrepl/bencode "1.0.0"]
>> [org.clojure/clojure "1.10.0"]
>> [org.clojure/core.specs.alpha "0.2.44"]
>> [org.clojure/spec.alpha "0.2.176"]
>> [org.clojure/test.check "0.9.0"]
>>
>> Any ideas?
>>
>>
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.