Open milessabin opened 10 years ago
@milessabin does this issue refer to explicitly annotating the return types of implicit val
s and def
s or to adding @implicitNotFound
annotations to type classes?
@ceedubs description updated.
Partially addressed in #239 ... lots more to do.
What would be a good template for the error messages? I'm thinking something like this:
Implicit not found:
TypeClass[A, B, C]
. Could not prove / compute / infer whatever type lever operation withA
,B
andC
.
Then the question is whether to keep it short (a 2-lliner) or try to elaborate possible causes / solutions e.g: "Try to use the Aux
pattern", "Make sure your Poly
has the right arity", etc.
I think the messages should be specific to the particular type class in question ... I'm not sure that replacing the existing default message with a similarly non-specific template would be all that much of an improvement.
There are very many implicit arguments in shapeless without @implicitNotFound annotations. Adding them would make compiler errors more readable.