2016-10-16 56 views
1

爲什麼覆蓋hashCode二進制不兼容的變化:遷移-經理/二進制兼容性:覆蓋哈希碼參考私人[這]

前:

trait Foo extends Product 

後:

trait Foo extends Product { 
    private[this] lazy val _hashCode = ScalaRunTime._hashCode(this) 
    override def hashCode: Int = _hashCode 
} 

移民經理說:

[error] * synthetic method Foo$$_hashCode()Int in trait Foo is present only in current version 
[error] filter with: ProblemFilters.exclude[ReversedMissingMethodProblem]("Foo.Foo$$_hashCode") 

這實際上是一個問題嗎?或者我可以保持與這個變化相同的小版本?

+0

您使用的是什麼版本的MiMa? –

回答

0

不是一個直接的答案,但它可能是爲了避免private[this] lazy val乾脆:

trait Foo extends Product { 
    override lazy val hashCode: Int = ScalaRunTime._hashCode(this) 
} 

這裏,MIMA不抱怨。