I am asking for a friend: When the domain for an artifact of a lib is lost under which it is published. How bad is it and what needs to be done if it is not possible to get the domain back? New domain, change artifact domain and change all the namespaces? I could leave the namespace as it is, right?
#clojars question? you don't have to re-verify the domain right?
note that republishing a library with new coordinates may end up in multiple versions of the same dependency on the classpath if other libraries still use the old version (happened to me with SCI)
Yeah, if you publish under a new group/artifact, you'll need to change the nses as well to avoid conflicts.
@borkdude no don't have to verify the domain again... do you think i can leave it like that even if i don't have the domain anymore?
I will ask in #clojars
it would be the least intrusive for all people, but good you asked
Itβs been a while since I worked with deftype. I need to change fields in place/mutate them, but I get this error. I know I can introduce a defprotocol with get and set methods, but I would prefer not to if possible. Is there any way to achieve this?
(deftype Foo [^:unsynchronized-mutable x])
=> examples.bunny2.Foo
(def ff (->Foo 1))
=> #'examples.bunny2/ff
(set! (.-x ff) 42)
Execution error (IllegalArgumentException) at examples.bunny2/eval732 (bunny2.clj:1).
No matching field found: x for class examples.bunny2.FooNo, this is the intent - once You make mutable fields, they are private and you should declare an interface around that mutability.
Thanks for the info!
You can use definterface for a more lightweight workaround.