与えられたクラス
object A {
type URLT = String
}
case class A(url : URLT)
class ForeignStreamWriter {
def writeString(str: String) {}
}
trait WriterA {
val writer : ForeignStreamWriter
def write(src: A) {
writer.write(src.url)
}
}
writer.write(src.url)で URLT ではなく文字列を使用していることをコンパイラに伝えるにはどうすればよいですか? ForeignStreamWriter の署名を変更できません。
UPD
今のところ、私は唯一の解決策を見つけました
def write(src: A) {
writer.write(src.url.asInstanceOf[String])
}
しかし、私はそれがあまり好きではありません。