aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dotty/tools/dotc/transform/OverridingPairs.scala2
-rw-r--r--test/dotc/tests.scala4
-rw-r--r--tests/neg/overrides.scala7
3 files changed, 10 insertions, 3 deletions
diff --git a/src/dotty/tools/dotc/transform/OverridingPairs.scala b/src/dotty/tools/dotc/transform/OverridingPairs.scala
index f631dcf9a..4026749b2 100644
--- a/src/dotty/tools/dotc/transform/OverridingPairs.scala
+++ b/src/dotty/tools/dotc/transform/OverridingPairs.scala
@@ -43,7 +43,7 @@ object OverridingPairs {
val info1 = self.memberInfo(sym1)
val info2 = self.memberInfo(sym2)
// info1.signature == info2.signature && // TODO enable for speed
- info1 matches info2
+ info1.widenExpr matches info2.widenExpr
}
/** The symbols that can take part in an overriding pair */
diff --git a/test/dotc/tests.scala b/test/dotc/tests.scala
index 3a863f013..27c4c6cd0 100644
--- a/test/dotc/tests.scala
+++ b/test/dotc/tests.scala
@@ -82,8 +82,8 @@ class tests extends CompilerTest {
@Test def neg_autoTupling = compileFile(posDir, "autoTuplingTest", "-language:noAutoTupling" :: Nil, xerrors = 4)
@Test def neg_autoTupling2 = compileFile(negDir, "autoTuplingTest", xerrors = 4)
@Test def neg_companions = compileFile(negDir, "companions", xerrors = 1)
- @Test def neg_over = compileFile(negDir, "over", xerrors = 1)
- @Test def neg_overrides = compileFile(negDir, "overrides", xerrors = 8)
+ @Test def neg_over = compileFile(negDir, "over", xerrors = 2)
+ @Test def neg_overrides = compileFile(negDir, "overrides", xerrors = 9)
@Test def neg_projections = compileFile(negDir, "projections", xerrors = 1)
@Test def neg_i39 = compileFile(negDir, "i39", xerrors = 1)
@Test def neg_i50_volatile = compileFile(negDir, "i50-volatile", xerrors = 4)
diff --git a/tests/neg/overrides.scala b/tests/neg/overrides.scala
index cffb5480a..8eddda68f 100644
--- a/tests/neg/overrides.scala
+++ b/tests/neg/overrides.scala
@@ -100,3 +100,10 @@ trait TOverrider { this: TCommon =>
class C2 extends C1 with TOverrider // ... fails to override, here.
}
+
+package p4 {
+
+ abstract class C[T] { def head: T }
+ case class D[T](head: Int) extends C[T]
+
+}