diff options
author | Samuel Gruetter <samuel.gruetter@epfl.ch> | 2014-03-12 22:44:33 +0100 |
---|---|---|
committer | Samuel Gruetter <samuel.gruetter@epfl.ch> | 2014-03-12 22:44:33 +0100 |
commit | 9ef5f6817688f814a3450126aa7383b0928e80a0 (patch) | |
tree | 5727a2f7f7fd665cefdb312af2785c692f04377c /tests/untried/neg/tcpoly_variance_enforce.scala | |
parent | 194be919664447631ba55446eb4874979c908d27 (diff) | |
download | dotty-9ef5f6817688f814a3450126aa7383b0928e80a0.tar.gz dotty-9ef5f6817688f814a3450126aa7383b0928e80a0.tar.bz2 dotty-9ef5f6817688f814a3450126aa7383b0928e80a0.zip |
add tests from scala/test/files/{pos,neg}
with explicit Unit return type
Diffstat (limited to 'tests/untried/neg/tcpoly_variance_enforce.scala')
-rw-r--r-- | tests/untried/neg/tcpoly_variance_enforce.scala | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/untried/neg/tcpoly_variance_enforce.scala b/tests/untried/neg/tcpoly_variance_enforce.scala new file mode 100644 index 000000000..ddff0e9f9 --- /dev/null +++ b/tests/untried/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] = sys.error("foo") // error + def y: coll[FooContra] = sys.error("foo") // error +} + + +// TODO: need test for rank N with N >: 2 |