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 clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
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 clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to