📄 tcpoly_variance_enforce.scala
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -