Closed tribbloid closed 2 years ago
this looks like a message from an annotation in that library
don't think so, if it is an annotation it should come after the "invalid because" part.
Plus this annotation seems to be all types, no text. I knew PhD students are undisciplined, but not that undisciplined
well then what is that NO PROOF
?
Oh sorry that was part of the implicit annotation of shapesafe (the library I worked on)
hmmm, looks like this problem can be triggered if the implicit function doesn't have a return type. The compiler has some weird rule in inferring and erasing type automatically in this case
I found the cause of the problem, the following 2 types of Tree:
// TODO remove this class, add a tree attachment to Apply to track whether implicits were involved
// copying trees will all too easily forget to distinguish subclasses
class ApplyToImplicitArgs(fun: Tree, args: List[Tree]) extends Apply(fun, args)
// TODO remove this class, add a tree attachment to Apply to track whether implicits were involved
// copying trees will all too easily forget to distinguish subclasses
class ApplyImplicitView(fun: Tree, args: List[Tree]) extends Apply(fun, args)
May be returned as implicit candidate. Their .toString format is also very verbose (at least as verbose as TypeApply, which was replaced with an Apply when the error message is generated). So, the solution should be merely adding these 2 cases into the unapplyCandidate
A patch should be released shortly. But our end goal should be to merge it into scalac
@tek do you think it is a good idea to invite @lrytz to be on our advisor board?
if that is something he'd like to do, sure!
Sounds good, let's finish the 1.0.0-RC1 for 2.13.6 first
Not sure what your board is, but feel free to ping me on questions / issues :)
@tek patch is integrated a few days ago, closing
Here is an example when I'm debugging shapesafe:
If this goes through proper formatting, I shouldn't even see the "singleton.ops.impl." package part. Is there a reason they have to be printed? Or is it some kind of fall back mechanism when formatting fails?
@tek Thanks a lot for your input