tcpoly_variance_enforce.scala

来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 42 行

SCALA
42
字号
trait coll[m[+x]]trait coll2[m[-x]]trait coll3[m[x]]trait coll4[m[x <: y], y]class FooInvar[x]                 class FooContra[-x]class FooCov[+x]class FooString[+x <: String]object fcollok extends coll[FooCov]object fcollinv extends coll[FooInvar]      // errorobject fcollcon extends coll[FooContra]     // errorobject fcollwb extends coll[FooString]      // error                                            object fcoll2ok extends coll2[FooCov]       // errorobject fcoll2inv extends coll2[FooInvar]    // errorobject fcoll2con extends coll2[FooContra]   object fcoll2wb extends coll2[FooString]      // error                                            object fcoll3ok extends  coll3[FooCov]      object fcoll3inv extends coll3[FooInvar]    object fcoll3con extends coll3[FooContra]   object fcoll3wb extends  coll3[FooString]   // errorobject fcoll4ok extends  coll4[FooString, String]object fcoll4_1 extends  coll4[FooString, Int] // errorobject fcoll4_2 extends  coll4[FooString, Any] // errorobject test {  var ok: coll[FooCov] = _     def x: coll[FooInvar] = error("foo") // error  def y: coll[FooContra] = error("foo") // error}// TODO: need test for rank N with N >: 2

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?