summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@epfl.ch>2009-08-06 15:36:00 +0000
committerAdriaan Moors <adriaan.moors@epfl.ch>2009-08-06 15:36:00 +0000
commit381209889a348349f97e414485d5fcf3c8e8931d (patch)
treea38463726d5e9d54dd222b081dc050e04d25484c /test
parentf22d1313c2527dd87b342e3461b577e51a2f1576 (diff)
downloadscala-381209889a348349f97e414485d5fcf3c8e8931d.tar.gz
scala-381209889a348349f97e414485d5fcf3c8e8931d.tar.bz2
scala-381209889a348349f97e414485d5fcf3c8e8931d.zip
fixed #2208
Diffstat (limited to 'test')
-rw-r--r--test/files/neg/ticket2208.check4
-rw-r--r--test/files/neg/ticket2208.scala8
-rw-r--r--test/files/pos/ticket2208.scala8
3 files changed, 20 insertions, 0 deletions
diff --git a/test/files/neg/ticket2208.check b/test/files/neg/ticket2208.check
new file mode 100644
index 0000000000..9aa6658bf4
--- /dev/null
+++ b/test/files/neg/ticket2208.check
@@ -0,0 +1,4 @@
+ticket2208.scala:9: 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/ticket2208.scala b/test/files/neg/ticket2208.scala
new file mode 100644
index 0000000000..43bb0adec5
--- /dev/null
+++ b/test/files/neg/ticket2208.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/ticket2208.scala b/test/files/pos/ticket2208.scala
new file mode 100644
index 0000000000..f1a521b14c
--- /dev/null
+++ b/test/files/pos/ticket2208.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