Closed
Description
If we lock binary compatibility post 1.0, I think the main implication is that we can't add methods existing traits, however we can still add new traits.
If someone want to add a new extension to Option
, he just need to create a new trait say OptionSyntax2
and let the
mouse.all
extends and mouse.option
extend this new trait.
Here is an example of this solution I am trying to suggest in a cats PR
typelevel/cats#2138 (comment)
In the case of implicit extension namespace collusion, I don't know a good solution, I imagine when user encounter this they just need to stop using the all-inclusive import and use specific imports to avoid the ones that causing conflicts.
Metadata
Metadata
Assignees
Labels
No labels