Implementation of extensions doesn't match expectation or documentation

Ah. I see now that I made a leap without realizing or justifying it. I read your comment which pointed out the difficulty reasoning about resolution and followed the links you provided into a rabbit hole where I found PRs that are still open or closed unresolved attempting to improve on the situation and concluded that, as you say, the situation exists and persists because it is difficult to change.

Breakage, absolutely. And excising an entire construct of the language on the basis that it is the proper solution to a newly created problem that stems from an over-adherence to a philosophy of usage that users don’t share.

But, to be clear, I’m very much not complaining about change. I’m all in on Scala 3. The only implicit class I have left is the one I need to work around this issue. And if I never see a curly brace again, it’ll be too soon. And I’d be open to a better (whatever that means) mechanism for right-associativity. Just not by breaking the one we already have. As Software Engineers and Computer Scientists, we’ve known how to do better than that when improving things for a long time.

1 Like