Hi all

I recently wanted to do some work on a project of mine I've not worked on 
for more than a year, and found to my great surprise that it will no longer 
build. Full details of the bug are here 
<https://github.com/journeyman-cc/smeagol/issues/43>, but the core seems to 
be:

clojure.lang.Compiler$CompilerException: Syntax error macroexpanding 
clojure.core/fn at (clojure/core/unify.clj:83:18).
#:clojure.error{:phase :macro-syntax-check, :line 83, :column 18, :source 
"clojure/core/unify.clj", :symbol clojure.core/fn}
 at clojure.lang.Compiler.checkSpecs (Compiler.java:6971)

...

Caused by: clojure.lang.ExceptionInfo: Call to clojure.core/fn did not conform 
to spec.
#:clojure.spec.alpha{:problems ({:path [:fn-tail :arity-1 :params], :pred 
clojure.core/vector?, :val clojure.core.unify/var-unify, :via 
[:clojure.core.specs.alpha/params+body :clojure.core.specs.alpha/param-list 
:clojure.core.specs.alpha/param-list], :in [0]} {:path [:fn-tail :arity-n], 
:pred (clojure.core/fn [%] (clojure.core/or (clojure.core/nil? %) 
(clojure.core/sequential? %))), :val clojure.core.unify/var-unify, :via 
[:clojure.core.specs.alpha/params+body :clojure.core.specs.alpha/params+body], 
:in [0]}), :spec #object[clojure.spec.alpha$regex_spec_impl$reify__2509 
0x7c214cc0 "clojure.spec.alpha$regex_spec_impl$reify__2509@7c214cc0"], :value 
(clojure.core.unify/var-unify [G__813 G__814 G__815 G__816] 
(clojure.core/if-let [vb__806__auto__ (G__816 G__814)] 
(clojure.core.unify/garner-unifiers G__813 vb__806__auto__ G__815 G__816) 
(clojure.core/if-let [vexpr__807__auto__ (clojure.core/and (G__813 G__815) 
(G__816 G__815))] (clojure.core.unify/garner-unifiers G__813 G__814 
vexpr__807__auto__ G__816) (if (clojure.core.unify/occurs? G__813 G__814 G__815 
G__816) (throw (java.lang.IllegalStateException. (clojure.core/str "Cycle found 
in the path " G__815))) (clojure.core.unify/bind-phase G__816 G__814 
G__815))))), :args (clojure.core.unify/var-unify [G__813 G__814 G__815 G__816] 
(clojure.core/if-let [vb__806__auto__ (G__816 G__814)] 
(clojure.core.unify/garner-unifiers G__813 vb__806__auto__ G__815 G__816) 
(clojure.core/if-let [vexpr__807__auto__ (clojure.core/and (G__813 G__815) 
(G__816 G__815))] (clojure.core.unify/garner-unifiers G__813 G__814 
vexpr__807__auto__ G__816) (if (clojure.core.unify/occurs? G__813 G__814 G__815 
G__816) (throw (java.lang.IllegalStateException. (clojure.core/str "Cycle found 
in the path " G__815))) (clojure.core.unify/bind-phase G__816 G__814 
G__815)))))}
 at clojure.spec.alpha$macroexpand_check.invokeStatic (alpha.clj:705)

... 


No functions of mine occur anywhere in the stacktrace, but below all the 
clojure compiler functions I get to:

    clojure.lang.RestFn.invoke (RestFn.java:408)
    leiningen.core.utils$require_resolve.invokeStatic (utils.clj:102)
    leiningen.core.utils$require_resolve.invoke (utils.clj:95)
    leiningen.core.utils$require_resolve.invokeStatic (utils.clj:105)
    leiningen.core.utils$require_resolve.invoke (utils.clj:95)
    leiningen.core.main$lookup_task_var.invokeStatic (main.clj:69)
    leiningen.core.main$lookup_task_var.invoke (main.clj:65)
    leiningen.core.main$pass_through_help_QMARK_.invokeStatic (main.clj:79)
    leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:73)
    leiningen.core.main$task_args.invokeStatic (main.clj:82)
    leiningen.core.main$task_args.invoke (main.clj:81)
    leiningen.core.main$resolve_and_apply.invokeStatic (main.clj:339)
    leiningen.core.main$resolve_and_apply.invoke (main.clj:336)
    leiningen.core.main$_main$fn__6681.invoke (main.clj:452)
    leiningen.core.main$_main.invokeStatic (main.clj:442)
    leiningen.core.main$_main.doInvoke (main.clj:439)


The versions of Leiningen I am currently using are `Leiningen 2.9.1 on Java 
1.8.0_242 OpenJDK 64-Bit Server VM` and `Leiningen 2.9.1 on Java 11.0.6 
OpenJDK 64-Bit Server VM`; I don't recall the version I was using a year 
ago. None of the project dependencies have changed, I'm running with this 
project.clj 
<https://github.com/journeyman-cc/smeagol/blob/master/project.clj>, which 
certainly did build thirteen months ago.

My guess is that because my code has not changed, the version of Clojure 
used has not changed, and the dependencies have not changed, the only thing 
which is not controlled for is Leiningen. Has anyone else seen a problem 
like this, and if so how did you cure it?

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/4ce229bf-99c0-4922-aca2-8f0565e7feb0%40googlegroups.com.

Reply via email to