mima
mima copied to clipboard
False positive moving methods within sealed abstract class hierarchy
trafficstars
Needs clarification: https://github.com/typelevel/cats/pull/2335#discussion_r205950655
"Only sealed abstract classes that provide implicit instances to companion objects are allowed here, since they don't affect usage outside of the file."
When concrete methods are being moved between abstract sealed classes whose usage is in a single inheritance hierarchy, the change should be deemed binary compatible. E.g.
sealed abstract class A {def a = 1 }
sealed abstract class B extends A
class C extends B //only usage of A and B
If you move def a = 1 to B it should be deemed as binary compatible.
Thanks!
Another piece of the "Scala working mode" epic.
https://github.com/lightbend/migration-manager/issues/34.