diff options
author | Martin Odersky <odersky@gmail.com> | 2008-01-17 16:37:27 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2008-01-17 16:37:27 +0000 |
commit | 76c06b4661b70e934530a0debad34a5766ee43e9 (patch) | |
tree | 4abb85699a2d663681a9ca31fb7ccff45b80746f /test/files/run/caseclasses.scala | |
parent | e5ca1a3906ae29c1d6db5de333932bbfc189cedc (diff) | |
download | scala-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.scala | 15 |
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") |