diff options
author | Paul Phillips <paulp@improving.org> | 2013-01-02 06:41:30 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-01-09 12:11:14 -0800 |
commit | 567df8ef284ab7491d6e144eb169db77d8ac06be (patch) | |
tree | 3d886ae099463c28ad32a522490e104c0a596721 /test/files/neg/variances-refinement.scala | |
parent | 5d66c124e3703ea37997638091663ef1d4011d4d (diff) | |
download | scala-567df8ef284ab7491d6e144eb169db77d8ac06be.tar.gz scala-567df8ef284ab7491d6e144eb169db77d8ac06be.tar.bz2 scala-567df8ef284ab7491d6e144eb169db77d8ac06be.zip |
Boosted test coverage.
Diffstat (limited to 'test/files/neg/variances-refinement.scala')
-rw-r--r-- | test/files/neg/variances-refinement.scala | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/files/neg/variances-refinement.scala b/test/files/neg/variances-refinement.scala new file mode 100644 index 0000000000..6bfd336ce0 --- /dev/null +++ b/test/files/neg/variances-refinement.scala @@ -0,0 +1,40 @@ +trait Trait[-A, +B, C] { + def ok() = { // ok + object O { + private def f0(x: A): A = ??? + def f1(x: A): B = ??? + def f2(x: A): C = ??? + private def f3(x: B): A = ??? + private def f4(x: B): B = ??? + private def f5(x: B): C = ??? + private def f6(x: C): A = ??? + def f7(x: C): B = ??? + def f8(x: C): C = ??? + } + O + } + + def fail1() = { object O { def f0(x: A): A = ??? } ; O } // fail + def fail2() = { object O { def f0(x: B): A = ??? } ; O } // fail + def fail3() = { object O { def f0(x: B): B = ??? } ; O } // fail + def fail4() = { object O { def f0(x: B): C = ??? } ; O } // fail + def fail5() = { object O { def f0(x: C): A = ??? } ; O } // fail + + def fail6() = { // fail + trait O0 { + def f0(x: A): A = ??? + def f1(x: A): B = ??? + def f2(x: A): C = ??? + } + object O1 extends O0 + O1 + } + def fail7() = { // fail + trait O0 { + def f0(x: A): A = ??? + def f1(x: A): B = ??? + def f2(x: A): C = ??? + } + new O0 { } + } +} |