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