From 475937a041159d49d03f3f6a199e7c8416d0ba8e Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Fri, 20 Jul 2007 09:09:26 +0000 Subject: fixed 1231 (erroneously overriding abstract hig... fixed 1231 (erroneously overriding abstract higher-kinded type member with type member of kind * is not detected) --> added [type|term]SymbolDirect, which returns the symbol directly associated with a Type (i.e., without normalizing first) --- test/files/neg/tcpoly_override.check | 5 +++++ test/files/neg/tcpoly_override.scala | 10 ++++++++++ 2 files changed, 15 insertions(+) create mode 100644 test/files/neg/tcpoly_override.check create mode 100644 test/files/neg/tcpoly_override.scala (limited to 'test') diff --git a/test/files/neg/tcpoly_override.check b/test/files/neg/tcpoly_override.check new file mode 100644 index 0000000000..95529329e8 --- /dev/null +++ b/test/files/neg/tcpoly_override.check @@ -0,0 +1,5 @@ +tcpoly_override.scala:9: error: The kind of type T does not conform to the expected kind of type T[_] in trait A. +C.this.T's type parameters do not match type T's expected parameters: type T (in class C) has no type parameters, but type T (in trait A) has one + type T = B // This compiles well (@M: ... but it shouldn't) + ^ +one error found diff --git a/test/files/neg/tcpoly_override.scala b/test/files/neg/tcpoly_override.scala new file mode 100644 index 0000000000..f2c3b04413 --- /dev/null +++ b/test/files/neg/tcpoly_override.scala @@ -0,0 +1,10 @@ +// bug1231: reported by Vladimir Reshetnikov on 19 July 2007 +trait A { + type T[_] +} + +trait B // First-order type + +class C extends A { + type T = B // This compiles well (@M: ... but it shouldn't) +} \ No newline at end of file -- cgit v1.2.3