From 59c3848c052fdd64e1232f12c5c5b97a0288849c Mon Sep 17 00:00:00 2001 From: Guillaume Martres Date: Tue, 18 Nov 2014 16:35:54 +0100 Subject: [PATCH 1/2] Enable pos/overrides.scala in tests --- test/dotc/tests.scala | 1 + 1 file changed, 1 insertion(+) diff --git a/test/dotc/tests.scala b/test/dotc/tests.scala index 32f6a0b12ada..fd860aa53d1c 100644 --- a/test/dotc/tests.scala +++ b/test/dotc/tests.scala @@ -51,6 +51,7 @@ class tests extends CompilerTest { @Test def pos_assignments() = compileFile(posDir, "assignments", doErase) @Test def pos_packageobject() = compileFile(posDir, "packageobject", doErase) @Test def pos_overloaded() = compileFile(posDir, "overloaded", doErase) + @Test def pos_overrides() = compileFile(posDir, "overrides", doErase) @Test def pos_templateParents() = compileFile(posDir, "templateParents", doErase) @Test def pos_structural() = compileFile(posDir, "structural", doErase) @Test def pos_overloadedAccess = compileFile(posDir, "overloadedAccess", doErase) From c02811a66e962269e0423aa808d1cee82393f830 Mon Sep 17 00:00:00 2001 From: Guillaume Martres Date: Tue, 18 Nov 2014 16:03:15 +0100 Subject: [PATCH 2/2] Add tests for the overriding of types These tests work correctly since 222e9a478f7b851582550973df6a9d141766e49a --- test/dotc/tests.scala | 2 +- tests/neg/overrides.scala | 11 +++++++++++ tests/pos/overrides.scala | 9 +++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/test/dotc/tests.scala b/test/dotc/tests.scala index fd860aa53d1c..8553ecb29dad 100644 --- a/test/dotc/tests.scala +++ b/test/dotc/tests.scala @@ -76,7 +76,7 @@ class tests extends CompilerTest { @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 = 5) + @Test def neg_overrides = compileFile(negDir, "overrides", xerrors = 7) @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 d502af8ddb7d..943cc8bc4fda 100644 --- a/tests/neg/overrides.scala +++ b/tests/neg/overrides.scala @@ -68,3 +68,14 @@ class X1 { class Y1 extends X1 { override def f(): B1 = ??? } + +class X2 { + type T = A1 +} +class Y2 extends X2 { + type T = B1 +} + +class X3 { + override type T = A1 +} diff --git a/tests/pos/overrides.scala b/tests/pos/overrides.scala index 97402f773082..c8c1f630ff7c 100644 --- a/tests/pos/overrides.scala +++ b/tests/pos/overrides.scala @@ -11,3 +11,12 @@ class B extends A[Int] { f(2)() } + +class A1 +class A2 +class X1 { + type T = A1 +} +class Y1 extends X1 { + override type T = A2 +}