Thanks for the repo! I was testing mostly in one file.
So TL;DR, move the impl for Any to the same file as the defprotocol and you’re good.
In terms of why this is, hopefully someone else can explain as I’m interested myself. I have an inkling but I don’t want to make stuff up (at least not this time
)
Of note:
-
1.18.2 only produces a cycle length of 2. I’ve helped nuke compiled time deps in a few projects over the past few years and each new version of Elixir makes good strides in eliminating unnecessary deps.
-
Practically speaking, in both 1.15 and 1.18, it’s only when you change the
Anyimplementation that every file that implements the protocol will be triggered. This is expected and will happen regardless of where you have definedAny.






















