From a21a60e5b061af05eb6a6bf574052f130d369d4b Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Thu, 1 Oct 2009 15:04:29 +0000 Subject: fixed #2208 don't expand type aliases that take type arguments in typedTypeConstructor, as that bypasses refchecks have to expand type alias without type arguments, as AnyRef must disappear (problem with cycles during bootstrap) --- test/files/neg/t2208.check | 4 ++++ test/files/neg/t2208.scala | 8 ++++++++ test/files/pos/t2208.scala | 8 ++++++++ 3 files changed, 20 insertions(+) create mode 100644 test/files/neg/t2208.check create mode 100644 test/files/neg/t2208.scala create mode 100644 test/files/pos/t2208.scala (limited to 'test') diff --git a/test/files/neg/t2208.check b/test/files/neg/t2208.check new file mode 100644 index 0000000000..6f7d60d84e --- /dev/null +++ b/test/files/neg/t2208.check @@ -0,0 +1,4 @@ +ticket2208.scala:7: error: type arguments [Any] do not conform to type Alias's type parameter bounds [X <: Test.A] + class C extends Alias[Any] // not ok, normalisation should check bounds before expanding Alias + ^ +one error found \ No newline at end of file diff --git a/test/files/neg/t2208.scala b/test/files/neg/t2208.scala new file mode 100644 index 0000000000..43bb0adec5 --- /dev/null +++ b/test/files/neg/t2208.scala @@ -0,0 +1,8 @@ +object Test { + class A + + class B[X] + type Alias[X <: A] = B[X] + + class C extends Alias[Any] // not ok, normalisation should check bounds before expanding Alias +} \ No newline at end of file diff --git a/test/files/pos/t2208.scala b/test/files/pos/t2208.scala new file mode 100644 index 0000000000..f1a521b14c --- /dev/null +++ b/test/files/pos/t2208.scala @@ -0,0 +1,8 @@ +object Test { + class A + + class B[X] + type Alias[X <: A] = B[X] + + val foo: B[A] = new Alias[A] // check that type aliases can be instantiated +} \ No newline at end of file -- cgit v1.2.3