lightbend-labs / mima

A tool for catching binary incompatibility in Scala
Apache License 2.0
459 stars 71 forks source link

Methods with incompatible results type should not be always "fixable" #37

Closed dotta closed 5 years ago

dotta commented 11 years ago

Currently, if the return type of a method changes between two library versions, Mima Lib reports an "IncompatibleResultTypeProblem" that has, by default, a "fixable" status. This is too optimistics since the new method return type may not be a subtype of the old one. We should report that the problem is "fixable" only if newMethod.resultType <: oldMethod.resultType. Otherwise a new term should be used to warn the user that the incompatibility can be fixed but a runtime cast exception will be thrown if the method is ever called.

dwijnand commented 5 years ago

"Fixable" (Problem.Status) was removed in https://github.com/lightbend/mima/commit/eae52bf3786ee18a73a5e861f02411a11c728c0d