2
我試圖編譯下面的代碼的參數範圍:斯卡拉this.type符合型超
class MyClass {
def foo(): this.type = Helper.bar(this)
}
class ChildClass extends MyClass
object Helper {
def bar[A <: MyClass](cls: A): A = cls
}
產生的編譯錯誤是:
type arguments [MyClass.this.type] do not conform to method bar's type parameter bounds [A <: MyClass]
有什麼我可以做用上面提供的方法簽名來製作這個編譯屬性?看起來好像MyClass.this.type應該是一個validClass,並且我不希望在調用Helper時(一次在路上,一次在路上)施放兩次。
啊,我剛剛意識到我在REPL中測試,如果類在REPL中的單獨行上定義,我會收到編譯錯誤,但如果它們被粘貼一個街區,一切似乎都沒問題。謝謝你的幫助! –
爲什麼不能推斷單身人士類型? – kassens