Closed
Description
minimized code
sealed trait Off
case class Of[sup, sub <: sup] extends Off
type Sup[O <: Off] = O match { case Of[sup, sub] => sup } // error here!
type Sub[O <: Off] = O match { case Of[sup, sub] => sub } // error here!
type Copy[O <: Off] = Of[Sup[O], Sub[O]]
emits type errors about variables sup, sub
do not conform the bounds
expectation
no errors