You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It is not very clear how implicit resolution works in presence of (possibly failing) macro expansions.
Example:
implicitinlinedefeqGenInt:Eq[Int] =${ ... } // throws on expansion, so not actually overlappingimplicitdefeqInt:Eq[Int] =newEq[Int] { ... }
For now it seems that failing expansion is ignored and implicit resolution proceeds to other instances, even if they are "overlapping" (modulo expansion failures).
Can I rely on this behaviour?
If so, it would be great to have it documented somewhere.
The text was updated successfully, but these errors were encountered:
In the current behavior, a failure to expand an implicit inline def when looking for implicit will only let the implicit search know that this is not the implicit it is looking for. Then implicit search continues looking and the error is not emitted.
After #9984implicit transparent inline def will keep the current behavior. On the other hand, non-transparent ones will finish the implicit search on that method if the signature agrees and then it will emit the error.
It is not very clear how implicit resolution works in presence of (possibly failing) macro expansions.
Example:
For now it seems that failing expansion is ignored and implicit resolution proceeds to other instances, even if they are "overlapping" (modulo expansion failures).
Can I rely on this behaviour?
If so, it would be great to have it documented somewhere.
The text was updated successfully, but these errors were encountered: