implicit def safeCast[Z,Y, _ >: Z <: Y]( z:Z ):Y = z.asInstanceOf[Y]
def asInt( x: Int ): Int = x
case class L[X](val x: X) { def double[_ >: X <: Int]: Int = asInt(x)*2 }
a.this.safeCast is not a valid implicit value for X => Int because: incompatible: (z: X)X does not match expected type X => Int a.this.safeCast is not a valid implicit value for => X => Int because: incompatible: (z: X)X does not match expected type => X => Int ...(и ещё куча)
тут уже я даже сказал, чему x должен быть равен. На входе в asInt должен быть Int, почему не пробует safeCast с Z=X, Y=Int?
no subject
a.this.safeCast is not a valid implicit value for X => Int because:
incompatible: (z: X)X does not match expected type X => Int
a.this.safeCast is not a valid implicit value for => X => Int because:
incompatible: (z: X)X does not match expected type => X => Int
...(и ещё куча)
тут уже я даже сказал, чему x должен быть равен. На входе в asInt должен быть Int, почему не пробует safeCast с Z=X, Y=Int?