diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2009-10-01 15:04:29 +0000 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2009-10-01 15:04:29 +0000 |
commit | a21a60e5b061af05eb6a6bf574052f130d369d4b (patch) | |
tree | 01547870b60ee2d7038712b14abf673c48c41a70 /test | |
parent | fe264943efccc2534a65ce0b49ed16a51e597aed (diff) | |
download | scala-a21a60e5b061af05eb6a6bf574052f130d369d4b.tar.gz scala-a21a60e5b061af05eb6a6bf574052f130d369d4b.tar.bz2 scala-a21a60e5b061af05eb6a6bf574052f130d369d4b.zip |
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)
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/t2208.check | 4 | ||||
-rw-r--r-- | test/files/neg/t2208.scala | 8 | ||||
-rw-r--r-- | test/files/pos/t2208.scala | 8 |
3 files changed, 20 insertions, 0 deletions
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 |