Change shadowing mechanism of extension methods for on par implicit class behavior

All of this was, as I understand it, to limit the potential can of worms that the complexity of overloading risks to unlock…

I think this is ok from the user’s point of view, if there are good and specific error messages that help the user to understand that the ambiguity error is caused by an extension method and how to circumvent the ambiguity.

2 Likes

Sooner or later, one will have to take the worm by the horns and re-think the whole overloading and implicit resolution process as a constraint solving problem. Otherwise, one will constantly stumble on such unexpected and seemingly arbitrary restrictions.

I am happy to let you know that the experimental implementation has been accepted by the SIP Committee to become a stable feature. It may be available in 3.3.1 or 3.4.0 depending on the assessment of the compiler team.

2 Likes

Since it is a source language change, it will be scheduled for the next minor release, Scala 3.4.0.