summaryrefslogtreecommitdiff
path: root/test/files/neg/variances-refinement.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2013-01-02 06:41:30 -0800
committerPaul Phillips <paulp@improving.org>2013-01-09 12:11:14 -0800
commit567df8ef284ab7491d6e144eb169db77d8ac06be (patch)
tree3d886ae099463c28ad32a522490e104c0a596721 /test/files/neg/variances-refinement.scala
parent5d66c124e3703ea37997638091663ef1d4011d4d (diff)
downloadscala-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.scala40
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 { }
+ }
+}