6
コンパイラは、「反変種A型は、型の共変位置で起こる」:A <:タイプBのいずれかであることを警告することはできません。この警告は、composeメソッドのtypeパラメータにあります。論理的には、型定義は私には合理的です。コンパイラがandと一緒にqualmsを持っていない場合、なぜ、その逆の問題?Scalaコンパイラは、反変種Aが型の共変位置で発生すると言うのはなぜですか?:A <:B型のいずれか?
trait Foo[-A]{
def compose[B >: A](t: Foo[B]): Foo[A] = t andThen this
def andThen[B <: A](t: Foo[B]): Foo[B]
}
私が必要とするのは、分解される例です。それから私は幸せです。