summaryrefslogtreecommitdiff
path: root/test/files/run/caseclasses.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2008-01-17 16:37:27 +0000
committerMartin Odersky <odersky@gmail.com>2008-01-17 16:37:27 +0000
commit76c06b4661b70e934530a0debad34a5766ee43e9 (patch)
tree4abb85699a2d663681a9ca31fb7ccff45b80746f /test/files/run/caseclasses.scala
parente5ca1a3906ae29c1d6db5de333932bbfc189cedc (diff)
downloadscala-76c06b4661b70e934530a0debad34a5766ee43e9.tar.gz
scala-76c06b4661b70e934530a0debad34a5766ee43e9.tar.bz2
scala-76c06b4661b70e934530a0debad34a5766ee43e9.zip
build target is now 1.5
case classes now generate objects not factory methods. some small cleanups for type inference
Diffstat (limited to 'test/files/run/caseclasses.scala')
-rw-r--r--test/files/run/caseclasses.scala15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/files/run/caseclasses.scala b/test/files/run/caseclasses.scala
index 72a7232d8a..8cba990114 100644
--- a/test/files/run/caseclasses.scala
+++ b/test/files/run/caseclasses.scala
@@ -2,6 +2,16 @@ case class Foo(x: int)(y: int);
case class Bar;
+object M {
+ abstract case class C(x: String) {}
+ object C extends (String => C) {
+ def apply(x: String): C = {
+ println("creating C("+x+")")
+ new C(x) {}
+ }
+ }
+}
+
object Test extends Application {
def fn[a,b](x: a => b) = x;
@@ -18,6 +28,11 @@ object Test extends Application {
case x:IndexOutOfBoundsException =>
}
+ M.C("hi") match {
+ case M.C("hi") => println("OK")
+ case _ => println("NO")
+ }
+
try {
f(2) productElement 3
throw new NullPointerException("duh")