Open
Description
Describe the Bug
I use TK in a REPL-heavy manner, using (reset)
repeatedly and also running tests from the REPL or CIDER.
Sometimes, quite rarely I can hit an error in the form:
java.lang.IllegalArgumentException: No implementation of method: :lookup of protocol: #'my.ns/FooService found for class: my.ns$reify__695487
Where the former is a defprotocol
and the latter is a defservice
. They live in the same ns, one after the other respectively.
(Original namespaces are redacted)
Environment
TK 3.1.0
Additional Context
This error is analog to https://github.com/clojure/tools.namespace/tree/06de425a09333456319d9d06e96c181e4c2d7c0a#warnings-for-protocols , with the difference that a vanilla defprotocol+defrecord case can be worked around (by re- evaluating the defrecord isolatedly in the repl), while I wasn't able to work around defprotocol+defservice.
Maybe there's some caching going on?