From f96b6beefc08f56218ac68b37a4cecd757cb60ee Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Fri, 6 Apr 2007 09:39:53 +0000 Subject: adding test files from tcpoly branch without hi... adding test files from tcpoly branch without history -- much faster this way, sorry --- test/files/neg/tcpoly_variance_enforce.scala | 42 ++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 test/files/neg/tcpoly_variance_enforce.scala (limited to 'test/files/neg/tcpoly_variance_enforce.scala') 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 -- cgit v1.2.3