summaryrefslogtreecommitdiff
path: root/test/files/pos/bug3048.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-06-27 17:16:01 +0000
committerPaul Phillips <paulp@improving.org>2011-06-27 17:16:01 +0000
commit77c01a9baca66c1a5a099318d403dbedbe4feeeb (patch)
tree6ee2cd41fae1d25794fd16256d686dcfe30c846b /test/files/pos/bug3048.scala
parent94a00c31680623cd2793b0db87c2bcfac10c9563 (diff)
downloadscala-77c01a9baca66c1a5a099318d403dbedbe4feeeb.tar.gz
scala-77c01a9baca66c1a5a099318d403dbedbe4feeeb.tar.bz2
scala-77c01a9baca66c1a5a099318d403dbedbe4feeeb.zip
Don't infer anonymous classes.
possible, just far enough to avoid all kinds of undesirable consequences which accompany the preservation of too much type information. (The problems are akin to inferring the singleton type too freely.) // Example of code which did not compile, but now does class A class B[T <: A](cons: T) object C extends B(new A {}) Closes #4110, #3048. I already ran this by moors, so review by odersky.
Diffstat (limited to 'test/files/pos/bug3048.scala')
-rw-r--r--test/files/pos/bug3048.scala8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/files/pos/bug3048.scala b/test/files/pos/bug3048.scala
new file mode 100644
index 0000000000..dc056ecba2
--- /dev/null
+++ b/test/files/pos/bug3048.scala
@@ -0,0 +1,8 @@
+class B
+object C extends B
+
+class F[T <: B](cons: => T)
+class F2[T <: B](cons: => T) extends F(cons)
+
+object D extends F2(C) // works
+object E extends F2(new B {})