Espec tests: TypeClassSpec.MoreProps.Proto is not a behaviour
I ran the espec test on my setup (elixir 1.11), and, mostly as a way to slowly understand the code, I would like to address one of the warnings I got:
warning: module TypeClassSpec.MoreProps.Proto is not a behaviour (in module TypeClassSpec.MoreProps.Proto.Integer)
spec/type_class_spec.exs:82: TypeClassSpec.MoreProps.Proto.Integer (module)
This refers to this line. I also have this warning quite a few times when building witchcraft.
The Adder class doesn't trigger this warning, so it seems to be because there is no where section in the definition of MoreProps class... or because extend is not working as expected ? I'm guessing it should declare the protocol for this class, from the where section of the extended module somehow ?
Thanks for any info about this.
Hi there! Thank you so much for the report. I dove into this a little bit today, and it actually looks like it's a result of some upstream behaviour in the Elixir compiler. I've opened up a fix on Elixir that you can track using the above pull request :)
@QuinnWilton thanks for the patch (and tolerating anti-FP toxicity of Elixir developers). I'll incorporate it in my patchset for Goo (a FP-friendly Elixir fork). In the meantime I patched it by injecting a phony function in each defclass and definst :D