これはなぜ型付けされた変数の使用は、このコードを動作させるん
trait SomeTrait {
type T
def write2(s: String): T
}
case class C() extends SomeTrait {
type T = String
override def write2(s:String): T = s }
に動作します。しかし、これは私の推論に
trait SomeTrait {
def write2[T](s: String): T
}
case class C() extends SomeTrait {
override def write2(s: String): String =s }
ない、彼らは同様の..seem。なぜコンパイラは「メソッドは何もオーバーライドしません」というエラーをなぜ与えるのですか?この仕事をする方法はありますか?
あなたのタイプパラメータと基本特性を異なるように名前を付けてください。混乱は少し少なくなります。 –
..更新、ありがとう – user7938511