diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2007-04-06 09:39:53 +0000 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2007-04-06 09:39:53 +0000 |
commit | f96b6beefc08f56218ac68b37a4cecd757cb60ee (patch) | |
tree | 2001a44efae7ddd1699520d3855598ef13e30803 /test/files/neg/tcpoly_variance_enforce.scala | |
parent | 10a651a13c323366223160bfa1b4fe8a6e818d1d (diff) | |
download | scala-f96b6beefc08f56218ac68b37a4cecd757cb60ee.tar.gz scala-f96b6beefc08f56218ac68b37a4cecd757cb60ee.tar.bz2 scala-f96b6beefc08f56218ac68b37a4cecd757cb60ee.zip |
adding test files from tcpoly branch without hi...
adding test files from tcpoly branch without history -- much faster this way, sorry
Diffstat (limited to 'test/files/neg/tcpoly_variance_enforce.scala')
-rw-r--r-- | test/files/neg/tcpoly_variance_enforce.scala | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/files/neg/tcpoly_variance_enforce.scala b/test/files/neg/tcpoly_variance_enforce.scala new file mode 100644 index 0000000000..e2fea37fff --- /dev/null +++ b/test/files/neg/tcpoly_variance_enforce.scala @@ -0,0 +1,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] // error +object fcollcon extends coll[FooContra] // error +object fcollwb extends coll[FooString] // error + +object fcoll2ok extends coll2[FooCov] // error +object fcoll2inv extends coll2[FooInvar] // error +object 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] // error + +object fcoll4ok extends coll4[FooString, String] +object fcoll4_1 extends coll4[FooString, Int] // error +object fcoll4_2 extends coll4[FooString, Any] // error + + +object 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
\ No newline at end of file |