type_class icon indicating copy to clipboard operation
type_class copied to clipboard

Espec tests: TypeClassSpec.MoreProps.Proto is not a behaviour

Open asmodehn opened this issue 4 years ago • 2 comments

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.

asmodehn avatar May 25 '21 17:05 asmodehn

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 avatar Jan 22 '22 04:01 QuinnWilton

@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

cognivore avatar Feb 26 '23 20:02 cognivore