Oh sorry, I'll follow it up there. My apologies. On Sun, Jan 11, 2026 at 5:46 PM José Valim <[email protected]> wrote:
> Hi Charles, this list is for proposals to the language, therefore this > discussion should continue over the ElixirForum. Thank you. > > > *José Valimhttps://dashbit.co/ <https://dashbit.co/>* > > > On Sun, Jan 11, 2026 at 11:17 PM Charles Lanahan < > [email protected]> wrote: > >> I'm cross-posting this to the Elixir forums and was discussing it on >> discord so I apologize if you see this twice. >> >> I’m having a bit of an intermittent issue with deriving a protocol with an >> Any implementation and I’m not sure how to debug the issue or even >> reproduce consistently enough to file a bug so I thought I’d ask for >> suggestions here first. >> >> I have a complex project where this appears. Unfortunately this project >> isn’t open source yet but hopefully soon as it would be much easier to >> share code to debug this weird issue. I have successfully implemented >> about 8 protocols so far (although none with deriving `Any`). I was >> creating a textbook Any protocol to derive from similar to >> https://hexdocs.pm/elixir/protocols.html#deriving . >> >> At first this bug arose when I stuck a dbg() statement into the Any >> implementation in order to debug an issue I was getting. When I did this >> and tried to derive the protocol for a given module struct I’d get >> something similar to: >> >> ``` >> == Compilation error in file lib/kerilixir/KERI/events/receipt_event.ex == >> ** (ArgumentError) could not load module Said.Saidifiable due to reason >> :nofile, cannot derive Said.Saidifiable for Kerilixir.Keri.ReceiptEvent >> (elixir 1.19.5) lib/protocol.ex:331: Protocol.assert_protocol!/2 >> (elixir 1.19.5) lib/protocol.ex:1104: Protocol.derive/4 >> (stdlib 7.2) lists.erl:2641: :lists.foreach_1/2 >> (elixir 1.19.5) lib/protocol.ex:1097: Protocol.*derive*/3 >> lib/kerilixir/KERI/events/receipt_event.ex:22: (module) >> ``` >> >> When I removed the dbg() statement, removed the @derive from the struct, >> recompiled, added back the derive (without the dbg statement) the >> protocol would derive successfully. Adding the debug statement back would >> reproduce the error consistently. >> >> Then somehow yesterday in fooling around with it I got the compilation >> and tests to pass with dbg() statement allowing me to troubleshoot the >> function call and fix the bug. Now when trying to derive this protocol for >> other structs I’m getting this error consistently again. At this point, I >> don’t have the dbg() calls anymore in the Any implementation but am >> still getting the :nofile error. >> >> It seems like this is an issue in consolidation or compilation or >> something else that I don’t understand and so I’m reaching out for any >> ideas or even places to look in beginning to debug this. Its frustrating >> because the pattern of having a default protocol will work for most of >> these structs but then a few will be exceptions that will need custom >> implementations. >> >> It did seem to happen with mix test more than mix compile but maybe >> that's all in my head. Now its just occurring over and over with mix >> compile. >> >> I tried to create a simpler example of the file structure and test >> structure I’m running here (tests fail but not the :nofile error) but >> failed to reproduce my error in this simpler example. >> https://github.com/daidoji/simple_example >> >> *tl;dr something weird is happening in consolidation or compilation >> process and my protocol isn’t getting derived even though it should. >> Looking for ideas on how to troubleshoot this intermittent error.* >> >> -- >> You received this message because you are subscribed to the Google Groups >> "elixir-lang-core" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion visit >> https://groups.google.com/d/msgid/elixir-lang-core/dad8f51d-6689-4967-8474-ab8e2ca78c63n%40googlegroups.com >> <https://groups.google.com/d/msgid/elixir-lang-core/dad8f51d-6689-4967-8474-ab8e2ca78c63n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to a topic in the > Google Groups "elixir-lang-core" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/elixir-lang-core/1q_f-sOA738/unsubscribe > . > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion visit > https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4J0%3DhmKwxQOWhPh4QOQEtnmwR1dVqVCgahXPvtof%3DsPbg%40mail.gmail.com > <https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4J0%3DhmKwxQOWhPh4QOQEtnmwR1dVqVCgahXPvtof%3DsPbg%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/elixir-lang-core/CAC%3DmkO2M%3DKCpdAZ4ebJf_4ZyeAFmt-DbgFTL-8WhJWirGMO-GA%40mail.gmail.com.
