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.