下面的Scala代碼似乎是有效的:斯卡拉類型系統中的錯誤?
class A[X]
class C[M[X] <: A[X]]
class Main
new C[A]
我希望編譯器對A型執行類型推斷,但我試過之後執行以下操作:
new C[A[Int]]
,我得到了以下錯誤消息:
(fragment of Main.scala):11: error: this.A[Int] takes no type parameters, expected: one
println(new C[A[Int]])
這也不會做這項工作。問題是C預期帶有類型參數的類型。當你嘗試新的C [A]時,這將會起作用,因爲A需要一個類型參數。 – tim 2011-01-06 13:19:45
這不起作用 - C現在需要兩個類型參數。 – gpampara 2011-01-06 13:20:20