Reloading a protocol definition invalidates any instances of objects which implement the protocol. This may be the problem you are seeing.
After reloading a protocol definition, you must also reload any code with `deftype`, `defrecord`, or `reify` which implements the protocol, THEN re-evaluate any code which creates instances of those types. For more discussion of this issue, see the tools.namespace docs under "Warnings for Protocols": https://github.com/clojure/tools.namespace#warnings-for-protocols –S On Tuesday, June 9, 2015 at 6:42:31 AM UTC-4, Timur wrote: > > Hi everyone, > > I have a mutli-project set-up using Leiningen checkouts. I have a > protocols project where I store all my needed protocols and another project > depends on this project. I linked the project folder to the checkout folder > of the project that depends on the protocols. However, when I change a > protocol in the protocols project, I have to call a "lein install", > re-start REPL to see the effects of this in the dependent project. As far > as I understood, Protocols are dynamically built and, therefore, I don't > need to restart and reload it. Do you have any idea what I might be doing > wrong? Or is this an expected behavior and I'm missing something? > > Thanks in advance. > > Regards, > > Timur > -- 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.