Hi, I am baffled. I switched a project from 1.8 to 1.9.0 upgrading also other dependencies (latest version fo core.async, ...) via lein ancient.
As usual I ran an AOT pass to make sure I don't have anything fishy before running the code. I got this from the AOT pass: java.lang.UnsupportedOperationException: Can't type hint a primitive local Oupse... I Reverted to 1.8 w/o reverting the dependency changes. it AOTed w/o a glitch. I narrowed it at: (:ns ....) (defprotocol GatewayJob (start-job! [this] "Start the given job") ...) (:ns ....) (defrecord NoopJob [name job-controller-channel env job-state parameters job-output] impl/GatewayJob (start-job! [this] ... (try .... (catch Exception e# (reset! job-state :failed) (>!! job-controller-channel [this :new-state :failed :error e#]) (log/error (format "NoopJob job died unexpectedly !") e#) ))) <- Here error is a macro which expands here to: (clojure.tools.logging/log* logger__458__auto__ :error nil (clojure.core/print-str "NoopJob job died unexpectedly !")) The (try (catch...) compiles w/o problems outside of the protocol implementation. It bombs a soon as it is embedded in a protocol implementation. 3 instances in three different namespaces same behavior and same code pattern (try .. catch .. reset! >!! ... I have been toying with this for an hour but I need some new direction(s) to eventually nail it. I dived in the list of changes of 1.9 but my search didn't come up with anything relevant yet. Anything changed in the defrecord macro expansion that could explain this ? Something related to core.async ? (it works with 1.8 w/o reverting the other dependencies however) A malpractice in the code structure that was tolerated so far ? I looked at the macro expansion of the defrecord but did not find anything wrong on the surface. Note that I did not yet attempt to run this project from source. That's forthcoming but I would expect it to crash at runtime.. Any idea is welcomed. Thank you, Luc P. -- 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.