metrics-scala 專案收到了一個建議更改的拉取請求:
class Meter {
def exceptionMarker: new AnyRef() {
def apply[A](f: => A): A = ???
}
}
更好的:
class Meter {
object exceptionMarker { // only this line changed
def apply[A](f: => A): A = ???
}
}
但是,恐怕這會導致二進制不兼容。我當然和Mima核對過 。米瑪沒有抱怨。
所以我的問題是:Mima 是對的嗎?提議的更改是否真的是二進制兼容的?
uj5u.com熱心網友回復:
事實上,您甚至可以在子類中def使用 an實作/覆寫 a object。
trait Foo
trait A {
def foo: Foo
}
class B extends A {
object foo extends Foo
}
所以是的,我相當確定它應該向后二進制兼容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/344784.html
上一篇:立即投射Spark資料框現有架構
下一篇:如何按串列中串列的子項進行分組?
