Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

False positive moving methods within sealed abstract class hierarchy #237

Open
adriaanm opened this issue Aug 3, 2018 · 3 comments
Open

Comments

@adriaanm
Copy link
Contributor

adriaanm commented Aug 3, 2018

Needs clarification: typelevel/cats#2335 (comment)

"Only sealed abstract classes that provide implicit instances to companion objects are allowed here, since they don't affect usage outside of the file."

@kailuowang
Copy link

kailuowang commented Aug 3, 2018

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.

@adriaanm adriaanm changed the title Ignore sealed abstract classes that can't affect usages in other compilation units Allow moving method within sealed abstract class hierarchy Aug 3, 2018
@adriaanm
Copy link
Contributor Author

adriaanm commented Aug 3, 2018

Thanks!

@dwijnand
Copy link
Collaborator

dwijnand commented Aug 3, 2018

Another piece of the "Scala working mode" epic.

#34.

@dwijnand dwijnand changed the title Allow moving method within sealed abstract class hierarchy False positive moving methods within sealed abstract class hierarchy Nov 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

3 participants