aboutsummaryrefslogtreecommitdiff
path: root/tests/disabled/neg
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-06-29 19:54:09 +0200
committerMartin Odersky <odersky@gmail.com>2016-07-11 13:35:02 +0200
commit830b72432fc02b86e798da24b084264881cbc392 (patch)
tree407bc9fe527ee403621269bf2ee6c6fd8624d671 /tests/disabled/neg
parentf1bf78bf8ceb17bfe0b9dc57a6e6f03a9b59065f (diff)
downloaddotty-830b72432fc02b86e798da24b084264881cbc392.tar.gz
dotty-830b72432fc02b86e798da24b084264881cbc392.tar.bz2
dotty-830b72432fc02b86e798da24b084264881cbc392.zip
Change tests
- compileMixed failed because there was a cycle between immutable.Seq (compiled) and parallel.ParSeq (loaded from classfile). Inspection of the completion log (turn completions Printer on) and the stack trace showed that there's nothing we can do here. The old hk scheme did not go into the cycle because it did not force an unrelated type. I believe with enough tweaking we would also hva egotten a cycle in the old hk scheme. The test is "fixed" by adding parallel.ParSeq to the files to compile. - Disable named parameter tests Those tests do not work yet with the revised hk scheme. Before trying to fix this, we should first decide what parts of named parameters should be kept.
Diffstat (limited to 'tests/disabled/neg')
-rw-r--r--tests/disabled/neg/named-params.scala37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/disabled/neg/named-params.scala b/tests/disabled/neg/named-params.scala
new file mode 100644
index 000000000..5a2375b15
--- /dev/null
+++ b/tests/disabled/neg/named-params.scala
@@ -0,0 +1,37 @@
+package namedparams
+
+class C[type Elem, type Value](val elem: Elem) {
+ def toVal: Elem = ???
+}
+
+abstract class D[type Elem, V](elem: Elem) extends C[Elem, V](elem)
+abstract class D2[Elem, V](elem: Elem) extends C[Elem, V](elem) // error
+abstract class D3[type Elem, V](x: V) extends C[V, V](x) // error
+abstract class D4[type Elem](elem: Elem) extends C[Elem, Elem] // error
+object Test {
+ val c = new C[String, String]("A") {
+ override def toVal = elem
+ }
+ val x: c.Elem = c.elem
+
+ val c2: C { type Elem = String } = c
+
+ val c3 = new C[Elem = String, Value = Int]("B")
+ val c4 = new C[Elem = String]("C")
+ val x2: c2.Elem = c2.elem
+
+ val c5 = new C[Elem1 = String, Value0 = Int]("B") // error // error
+
+ def d2[E, V](x: E) = new C[Elem = E, Value = V](x)
+
+ val dup = d2[E = Int, V = String, E = Boolean](2) // error
+ val z1 = d2[Elem = Int, Value = String](1) // error // error
+ val z2 = d2[Value = String, Elem = Int](1) // error // error
+ val z3 = d2[Elem = Int](1) // error
+ val z4 = d2[Value = Int]("AAA") // error
+ val z5 = d2[Elem = Int][Value = String](1) //error // error
+
+}
+
+
+