aboutsummaryrefslogtreecommitdiff
path: root/tests/disabled
diff options
context:
space:
mode:
Diffstat (limited to 'tests/disabled')
-rw-r--r--tests/disabled/java-interop/pos/t1409/AbstractImpl.java3
-rw-r--r--tests/disabled/java-interop/pos/t1409/ConcreteImpl.scala3
-rw-r--r--tests/disabled/java-interop/pos/t1409/OuterInterface.java5
-rwxr-xr-xtests/disabled/java-interop/pos/t1459/AbstractBase.java5
-rwxr-xr-xtests/disabled/java-interop/pos/t1459/App.scala18
-rwxr-xr-xtests/disabled/java-interop/pos/t1459/Caller.java7
-rw-r--r--tests/disabled/java-interop/pos/t1642/JavaCallingScalaHashMap.java8
-rw-r--r--tests/disabled/java-interop/pos/t1711/Seq.scala12
-rw-r--r--tests/disabled/java-interop/pos/t1711/Test.java6
-rw-r--r--tests/disabled/java-interop/pos/t1745/J.java10
-rw-r--r--tests/disabled/java-interop/pos/t1745/S.scala7
-rw-r--r--tests/disabled/java-interop/pos/t1751/A1_2.scala2
-rw-r--r--tests/disabled/java-interop/pos/t1751/A2_1.scala2
-rw-r--r--tests/disabled/java-interop/pos/t1751/SuiteClasses.java3
-rw-r--r--tests/disabled/java-interop/pos/t1782/Ann.java3
-rw-r--r--tests/disabled/java-interop/pos/t1782/Days.java3
-rw-r--r--tests/disabled/java-interop/pos/t1782/ImplementedBy.java3
-rw-r--r--tests/disabled/java-interop/pos/t1782/Test_1.scala16
-rw-r--r--tests/disabled/java-interop/pos/t1836/J.java1
-rw-r--r--tests/disabled/java-interop/pos/t1836/S.scala1
-rw-r--r--tests/disabled/java-interop/pos/t1840/J.java4
-rw-r--r--tests/disabled/java-interop/pos/t1840/S.scala2
-rw-r--r--tests/disabled/java-interop/pos/t1937/NumberGenerator.java7
-rw-r--r--tests/disabled/java-interop/pos/t2377/Q.java12
-rw-r--r--tests/disabled/java-interop/pos/t2377/a.scala8
-rw-r--r--tests/disabled/java-interop/pos/t2409/J.java4
-rw-r--r--tests/disabled/java-interop/pos/t2409/t2409.scala1
-rw-r--r--tests/disabled/java-interop/pos/t2413/TestJava.java7
-rw-r--r--tests/disabled/java-interop/pos/t2413/TestScalac.scala23
-rwxr-xr-xtests/disabled/java-interop/pos/t2433/A.java4
-rwxr-xr-xtests/disabled/java-interop/pos/t2433/B.java4
-rwxr-xr-xtests/disabled/java-interop/pos/t2433/Test.scala3
-rw-r--r--tests/disabled/java-interop/pos/t2464/JavaOne.java5
-rw-r--r--tests/disabled/java-interop/pos/t2464/ScalaOne_1.scala6
-rw-r--r--tests/disabled/java-interop/pos/t2464/t2464_2.scala3
-rw-r--r--tests/disabled/not-representable/pos/t1357.scala25
-rw-r--r--tests/disabled/not-representable/pos/t1381-new.scala37
-rw-r--r--tests/disabled/not-representable/pos/t1803.flags1
-rw-r--r--tests/disabled/not-representable/pos/t1803.scala3
-rw-r--r--tests/disabled/not-representable/pos/t2066-2.10-compat.scala72
-rw-r--r--tests/disabled/not-representable/pos/t2066.scala25
41 files changed, 374 insertions, 0 deletions
diff --git a/tests/disabled/java-interop/pos/t1409/AbstractImpl.java b/tests/disabled/java-interop/pos/t1409/AbstractImpl.java
new file mode 100644
index 000000000..b22a94fa1
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1409/AbstractImpl.java
@@ -0,0 +1,3 @@
+public abstract class AbstractImpl implements OuterInterface {
+ public abstract InnerInterface create();
+ }
diff --git a/tests/disabled/java-interop/pos/t1409/ConcreteImpl.scala b/tests/disabled/java-interop/pos/t1409/ConcreteImpl.scala
new file mode 100644
index 000000000..d427e957e
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1409/ConcreteImpl.scala
@@ -0,0 +1,3 @@
+class ConcreteImpl extends AbstractImpl {
+ def create : OuterInterface.InnerInterface = null
+ }
diff --git a/tests/disabled/java-interop/pos/t1409/OuterInterface.java b/tests/disabled/java-interop/pos/t1409/OuterInterface.java
new file mode 100644
index 000000000..dd288ceea
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1409/OuterInterface.java
@@ -0,0 +1,5 @@
+public interface OuterInterface {
+ public interface InnerInterface {
+ public void foo();
+ }
+ }
diff --git a/tests/disabled/java-interop/pos/t1459/AbstractBase.java b/tests/disabled/java-interop/pos/t1459/AbstractBase.java
new file mode 100755
index 000000000..492419416
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1459/AbstractBase.java
@@ -0,0 +1,5 @@
+package base;
+
+public abstract class AbstractBase {
+ public abstract void doStuff(String... params); // !!! was Object..
+} \ No newline at end of file
diff --git a/tests/disabled/java-interop/pos/t1459/App.scala b/tests/disabled/java-interop/pos/t1459/App.scala
new file mode 100755
index 000000000..36e5022e9
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1459/App.scala
@@ -0,0 +1,18 @@
+package foo
+import base._
+
+object App extends scala.App {
+ class Concrete extends AbstractBase {
+ override def doStuff(params:java.lang.String*): Unit = println("doStuff invoked")
+ }
+
+ val impl = new Concrete
+
+ //succeeds
+ impl.doStuff(null)
+
+ val caller = new Caller
+
+ // fails with AbstractMethodError
+ caller.callDoStuff(impl)
+}
diff --git a/tests/disabled/java-interop/pos/t1459/Caller.java b/tests/disabled/java-interop/pos/t1459/Caller.java
new file mode 100755
index 000000000..4ae51d8c5
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1459/Caller.java
@@ -0,0 +1,7 @@
+package base;
+
+public class Caller {
+ public void callDoStuff(AbstractBase impl) {
+ impl.doStuff("abc"); // was new Object());
+ }
+} \ No newline at end of file
diff --git a/tests/disabled/java-interop/pos/t1642/JavaCallingScalaHashMap.java b/tests/disabled/java-interop/pos/t1642/JavaCallingScalaHashMap.java
new file mode 100644
index 000000000..976e465ff
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1642/JavaCallingScalaHashMap.java
@@ -0,0 +1,8 @@
+import scala.collection.immutable.HashMap;
+import scala.collection.immutable.Map;
+
+public class JavaCallingScalaHashMap {
+ public static void main( String[] args ) {
+ Map<String, Integer> hashMap = new HashMap<String, Integer>();
+ }
+}
diff --git a/tests/disabled/java-interop/pos/t1711/Seq.scala b/tests/disabled/java-interop/pos/t1711/Seq.scala
new file mode 100644
index 000000000..c18f05cd7
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1711/Seq.scala
@@ -0,0 +1,12 @@
+package com
+
+object Sequence {
+
+ def filteringFunction[V](filter: V => Boolean): List[V] => List[V] = {
+ def include(v: V) =
+ filter(v)
+ (l: List[V]) => l.filter(include)
+ }
+
+}
+
diff --git a/tests/disabled/java-interop/pos/t1711/Test.java b/tests/disabled/java-interop/pos/t1711/Test.java
new file mode 100644
index 000000000..5ec0f2297
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1711/Test.java
@@ -0,0 +1,6 @@
+import com.Sequence;
+
+public class Test {
+ void foo() {
+ }
+}
diff --git a/tests/disabled/java-interop/pos/t1745/J.java b/tests/disabled/java-interop/pos/t1745/J.java
new file mode 100644
index 000000000..8444eabb2
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1745/J.java
@@ -0,0 +1,10 @@
+class J {
+ S1 s1;
+ S2 s2;
+
+ String s = bar(S3.foo(), S3.bar("def"));
+
+ private String bar(String s1, String s2) {
+ return s1 + s2;
+ }
+}
diff --git a/tests/disabled/java-interop/pos/t1745/S.scala b/tests/disabled/java-interop/pos/t1745/S.scala
new file mode 100644
index 000000000..84c437133
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1745/S.scala
@@ -0,0 +1,7 @@
+case class S1(n: Int) { }
+case class S2(n: Int, p: Int) { }
+class S3 { }
+object S3 {
+ def foo() = "abc"
+ def bar[T](x: T): T = x
+}
diff --git a/tests/disabled/java-interop/pos/t1751/A1_2.scala b/tests/disabled/java-interop/pos/t1751/A1_2.scala
new file mode 100644
index 000000000..354d5eecd
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1751/A1_2.scala
@@ -0,0 +1,2 @@
+@SuiteClasses(Array(classOf[A2]))
+class A1
diff --git a/tests/disabled/java-interop/pos/t1751/A2_1.scala b/tests/disabled/java-interop/pos/t1751/A2_1.scala
new file mode 100644
index 000000000..c768062e4
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1751/A2_1.scala
@@ -0,0 +1,2 @@
+@SuiteClasses(Array())
+class A2
diff --git a/tests/disabled/java-interop/pos/t1751/SuiteClasses.java b/tests/disabled/java-interop/pos/t1751/SuiteClasses.java
new file mode 100644
index 000000000..a415e4f57
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1751/SuiteClasses.java
@@ -0,0 +1,3 @@
+public @interface SuiteClasses {
+ public Class<?>[] value();
+}
diff --git a/tests/disabled/java-interop/pos/t1782/Ann.java b/tests/disabled/java-interop/pos/t1782/Ann.java
new file mode 100644
index 000000000..0dcfbd2ed
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1782/Ann.java
@@ -0,0 +1,3 @@
+public @interface Ann {
+ public Days value();
+}
diff --git a/tests/disabled/java-interop/pos/t1782/Days.java b/tests/disabled/java-interop/pos/t1782/Days.java
new file mode 100644
index 000000000..203a87b1c
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1782/Days.java
@@ -0,0 +1,3 @@
+public enum Days {
+ Friday, Sunday
+}
diff --git a/tests/disabled/java-interop/pos/t1782/ImplementedBy.java b/tests/disabled/java-interop/pos/t1782/ImplementedBy.java
new file mode 100644
index 000000000..6aa8b4fa9
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1782/ImplementedBy.java
@@ -0,0 +1,3 @@
+public @interface ImplementedBy {
+ public Class<?> value();
+}
diff --git a/tests/disabled/java-interop/pos/t1782/Test_1.scala b/tests/disabled/java-interop/pos/t1782/Test_1.scala
new file mode 100644
index 000000000..6467a74c2
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1782/Test_1.scala
@@ -0,0 +1,16 @@
+@ImplementedBy(classOf[Provider])
+trait Service {
+ def someMethod()
+}
+
+class Provider
+ extends Service
+{
+ // test enumeration java annotations
+ @Ann(Days.Friday) def someMethod() = ()
+
+ // #2103
+ @scala.beans.BeanProperty
+ @Ann(value = Days.Sunday)
+ val t2103 = "test"
+}
diff --git a/tests/disabled/java-interop/pos/t1836/J.java b/tests/disabled/java-interop/pos/t1836/J.java
new file mode 100644
index 000000000..a009a59e2
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1836/J.java
@@ -0,0 +1 @@
+public abstract class J<T> { protected J(T id) { } }
diff --git a/tests/disabled/java-interop/pos/t1836/S.scala b/tests/disabled/java-interop/pos/t1836/S.scala
new file mode 100644
index 000000000..88ce1063e
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1836/S.scala
@@ -0,0 +1 @@
+class S extends J("")
diff --git a/tests/disabled/java-interop/pos/t1840/J.java b/tests/disabled/java-interop/pos/t1840/J.java
new file mode 100644
index 000000000..fd98b6c4a
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1840/J.java
@@ -0,0 +1,4 @@
+package p;
+class J {
+ J() {}
+}
diff --git a/tests/disabled/java-interop/pos/t1840/S.scala b/tests/disabled/java-interop/pos/t1840/S.scala
new file mode 100644
index 000000000..ff513d2c1
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1840/S.scala
@@ -0,0 +1,2 @@
+package p
+class S { new J }
diff --git a/tests/disabled/java-interop/pos/t1937/NumberGenerator.java b/tests/disabled/java-interop/pos/t1937/NumberGenerator.java
new file mode 100644
index 000000000..59d604733
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t1937/NumberGenerator.java
@@ -0,0 +1,7 @@
+package br.com.caelum.caelumweb2.money;
+
+public class NumberGenerator {
+ public String generate() {
+ return null;
+ }
+}
diff --git a/tests/disabled/java-interop/pos/t2377/Q.java b/tests/disabled/java-interop/pos/t2377/Q.java
new file mode 100644
index 000000000..e3d11c70e
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t2377/Q.java
@@ -0,0 +1,12 @@
+public final class Q {
+ public static final class Stage {
+ public static Builder newBuilder() { return new Builder(); }
+ public static final class Builder { }
+ public Builder toBuilder() { return newBuilder(); }
+ }
+ public static final class WorkUnit {
+ public static Builder newBuilder() { return new Builder(); }
+ public static final class Builder { }
+ public Builder toBuilder() { return newBuilder(); }
+ }
+}
diff --git a/tests/disabled/java-interop/pos/t2377/a.scala b/tests/disabled/java-interop/pos/t2377/a.scala
new file mode 100644
index 000000000..bda59ce0d
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t2377/a.scala
@@ -0,0 +1,8 @@
+import Q._
+
+class Bop(var workUnit: WorkUnit) {
+ def addStages(stageBuilder: Stage.Builder): Unit = {
+ val builder = workUnit.toBuilder
+ ()
+ }
+}
diff --git a/tests/disabled/java-interop/pos/t2409/J.java b/tests/disabled/java-interop/pos/t2409/J.java
new file mode 100644
index 000000000..6b7c45ff6
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t2409/J.java
@@ -0,0 +1,4 @@
+class J {
+ static class J2 { }
+ J(J2 j2) { }
+}
diff --git a/tests/disabled/java-interop/pos/t2409/t2409.scala b/tests/disabled/java-interop/pos/t2409/t2409.scala
new file mode 100644
index 000000000..0412f7d82
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t2409/t2409.scala
@@ -0,0 +1 @@
+object S { new J(null) }
diff --git a/tests/disabled/java-interop/pos/t2413/TestJava.java b/tests/disabled/java-interop/pos/t2413/TestJava.java
new file mode 100644
index 000000000..252c01fbc
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t2413/TestJava.java
@@ -0,0 +1,7 @@
+package pack;
+
+public class TestJava {
+ protected String repeatParam(String ... items) {
+ return "nothing";
+ }
+}
diff --git a/tests/disabled/java-interop/pos/t2413/TestScalac.scala b/tests/disabled/java-interop/pos/t2413/TestScalac.scala
new file mode 100644
index 000000000..098e852dd
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t2413/TestScalac.scala
@@ -0,0 +1,23 @@
+import pack.TestJava
+
+class Foo extends TestJava {
+
+ // THIS METHOD YIELDS TO CRASH
+/* def foomethod : Option[String] => Unit = {
+ case None =>
+ val path = repeatParam("s","a","b","c")
+ ()
+ case Some(error) =>
+ ()
+ }
+
+ // THIS IS OK
+ def foomethod2 : String = repeatParam("s","a");
+
+ // THIS IS OK
+ val aVal = repeatParam("1","2","3") */
+
+ // THIS YIELDS TO CRASH
+ for (a <- 1 to 4 ; anotherVal = repeatParam("1","2","3"))
+ yield anotherVal
+}
diff --git a/tests/disabled/java-interop/pos/t2433/A.java b/tests/disabled/java-interop/pos/t2433/A.java
new file mode 100755
index 000000000..340690c40
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t2433/A.java
@@ -0,0 +1,4 @@
+class A223 extends B223.Inner {
+ static class Inner {}
+ void foo() {}
+} \ No newline at end of file
diff --git a/tests/disabled/java-interop/pos/t2433/B.java b/tests/disabled/java-interop/pos/t2433/B.java
new file mode 100755
index 000000000..151dd71ca
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t2433/B.java
@@ -0,0 +1,4 @@
+class B223 {
+ static class Inner {}
+ void m(A223.Inner x) {}
+} \ No newline at end of file
diff --git a/tests/disabled/java-interop/pos/t2433/Test.scala b/tests/disabled/java-interop/pos/t2433/Test.scala
new file mode 100755
index 000000000..02fd89b64
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t2433/Test.scala
@@ -0,0 +1,3 @@
+object Test {
+ (new A223).foo()
+}
diff --git a/tests/disabled/java-interop/pos/t2464/JavaOne.java b/tests/disabled/java-interop/pos/t2464/JavaOne.java
new file mode 100644
index 000000000..ff36868a0
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t2464/JavaOne.java
@@ -0,0 +1,5 @@
+class ClassTwo {
+ public static class Child {
+ public void func2() {return ;}
+ }
+}
diff --git a/tests/disabled/java-interop/pos/t2464/ScalaOne_1.scala b/tests/disabled/java-interop/pos/t2464/ScalaOne_1.scala
new file mode 100644
index 000000000..1caf8ecae
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t2464/ScalaOne_1.scala
@@ -0,0 +1,6 @@
+class ScalaClassOne extends ClassTwo.Child {
+ def func4() = {
+ func2
+ }
+}
+
diff --git a/tests/disabled/java-interop/pos/t2464/t2464_2.scala b/tests/disabled/java-interop/pos/t2464/t2464_2.scala
new file mode 100644
index 000000000..13a52c952
--- /dev/null
+++ b/tests/disabled/java-interop/pos/t2464/t2464_2.scala
@@ -0,0 +1,3 @@
+object Test {
+ val c1 = new ScalaClassOne
+}
diff --git a/tests/disabled/not-representable/pos/t1357.scala b/tests/disabled/not-representable/pos/t1357.scala
new file mode 100644
index 000000000..4095168d2
--- /dev/null
+++ b/tests/disabled/not-representable/pos/t1357.scala
@@ -0,0 +1,25 @@
+// Existential quantification cannot be expressed, and cannot be eliminated
+// because it's F-bounded. Trying to paramerize BinaryTree with T instead also fails
+// because the type alias cannot be represented
+
+object NonEmptyCons {
+ def unapply[H, T](c: (H, T)): Option[(H, T)] = Some(c)
+}
+
+
+object Main {
+
+ type BT[+H, +T <: Tuple2[Tuple2[H, T], Tuple2[H, T]]] = Tuple2[H, T]
+
+ // type T = Tuple2[String,String]
+ type BinaryTree[+E] = BT[E, T forSome { type T <: Tuple2[BT[E, T], BT[E, T]] }]
+
+ def foo[E](tree: BinaryTree[E]): Unit = tree match {
+ case NonEmptyCons(_, tail) => {
+ tail match {
+ case NonEmptyCons(_, _) => {
+ }
+ }
+ }
+ }
+}
diff --git a/tests/disabled/not-representable/pos/t1381-new.scala b/tests/disabled/not-representable/pos/t1381-new.scala
new file mode 100644
index 000000000..2944b1deb
--- /dev/null
+++ b/tests/disabled/not-representable/pos/t1381-new.scala
@@ -0,0 +1,37 @@
+/* Gives
+
+ t1381-new.scala:6: error: V is not a valid prefix for '#'
+ type E = V#ValueType
+ ^
+ */
+import scala.reflect.runtime.universe._
+
+class D[V <: Variable]
+
+class ID[V<:IV] extends D[V] {
+ type E = V#ValueType
+ def index(value:E) : Int = 0
+ // Comment this out to eliminate crash. Or see below
+ def index(values:E*) : Iterable[Int] = null
+}
+
+abstract class Variable {
+ type VT <: Variable
+ def d : D[VT] = null
+}
+
+abstract class PV[T](initval:T) extends Variable {
+ type VT <: PV[T]
+ type ValueType = T
+}
+
+trait IV extends Variable {
+ type ValueType
+}
+
+abstract class EV[T](initval:T) extends PV[T](initval) with IV {
+ type VT <: EV[T]
+ override def d : ID[VT] = null
+ // Comment this out to eliminate crash
+ protected var indx = d.index(initval)
+}
diff --git a/tests/disabled/not-representable/pos/t1803.flags b/tests/disabled/not-representable/pos/t1803.flags
new file mode 100644
index 000000000..d1a824416
--- /dev/null
+++ b/tests/disabled/not-representable/pos/t1803.flags
@@ -0,0 +1 @@
+-Yinfer-argument-types \ No newline at end of file
diff --git a/tests/disabled/not-representable/pos/t1803.scala b/tests/disabled/not-representable/pos/t1803.scala
new file mode 100644
index 000000000..94b59a480
--- /dev/null
+++ b/tests/disabled/not-representable/pos/t1803.scala
@@ -0,0 +1,3 @@
+// No parameter type inference in Dotty
+class A { def foo[A](a: A) = a }
+class B extends A { override def foo[A](b) = b }
diff --git a/tests/disabled/not-representable/pos/t2066-2.10-compat.scala b/tests/disabled/not-representable/pos/t2066-2.10-compat.scala
new file mode 100644
index 000000000..9cbf0092a
--- /dev/null
+++ b/tests/disabled/not-representable/pos/t2066-2.10-compat.scala
@@ -0,0 +1,72 @@
+import language._
+trait A1 {
+ def f[T[_]] = ()
+}
+
+trait B1 extends A1 {
+ override def f[T[+_]] = ()
+}
+
+trait C1 extends A1 {
+ override def f[T[-_]] = ()
+}
+
+
+trait A2 {
+ def f[T[+_]] = ()
+}
+
+trait B2 extends A2 {
+ override def f[T[_]] = () // okay
+}
+
+trait C2 extends A2 {
+ override def f[T[-_]] = ()
+}
+
+
+trait A3 {
+ def f[T[-_]] = ()
+}
+
+trait B3 extends A3 {
+ override def f[T[_]] = () // okay
+}
+
+// These nested higher-kinded types are not parsable in Dotty=
+trait C3 extends A3 {
+ override def f[T[-_]] = ()
+}
+
+
+trait A4 {
+ def f[T[X[+_]]] = ()
+}
+
+trait B4 extends A4 {
+ override def f[T[X[_]]] = ()
+}
+
+trait A5 {
+ def f[T[X[-_]]] = ()
+}
+
+trait B5 extends A5 {
+ override def f[T[X[_]]] = ()
+}
+
+
+
+trait A6 {
+ def f[T[X[_]]] = ()
+}
+
+trait B6 extends A6 {
+ override def f[T[X[+_]]] = () // okay
+}
+trait C6 extends A6 {
+ override def f[T[X[_]]] = () // okay
+}
+trait D6 extends A6 {
+ override def f[T[X[-_]]] = ()
+}
diff --git a/tests/disabled/not-representable/pos/t2066.scala b/tests/disabled/not-representable/pos/t2066.scala
new file mode 100644
index 000000000..30cb99d45
--- /dev/null
+++ b/tests/disabled/not-representable/pos/t2066.scala
@@ -0,0 +1,25 @@
+trait A1 {
+ def f[T[+_]] = ()
+}
+
+trait B1 extends A1 {
+ override def f[T[_]] = ()
+}
+
+
+trait A2 {
+ def f[T[-_]] = ()
+}
+
+trait B2 extends A2 {
+ override def f[T[_]] = ()
+}
+
+
+trait A3 {
+ def f[T[X[_]]] = ()
+}
+
+trait B3 extends A3 {
+ override def f[T[X[+_]]] = ()
+}