diff options
author | Burak Emir <emir@epfl.ch> | 2006-12-25 18:33:35 +0000 |
---|---|---|
committer | Burak Emir <emir@epfl.ch> | 2006-12-25 18:33:35 +0000 |
commit | 9e3b5c094b4e8b96d418d7498deab78dcb8bf150 (patch) | |
tree | 2e81375de66ba86341cafe59b33acae27e52fc71 /test | |
parent | 8c84ecf77194f98aaa41feab0ed903b8ac342899 (diff) | |
download | scala-9e3b5c094b4e8b96d418d7498deab78dcb8bf150.tar.gz scala-9e3b5c094b4e8b96d418d7498deab78dcb8bf150.tar.bz2 scala-9e3b5c094b4e8b96d418d7498deab78dcb8bf150.zip |
caseclasses implement Product directly
caseclasses do not implement ProductN anymore
Diffstat (limited to 'test')
-rw-r--r-- | test/pending/pos/unapply.scala | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/test/pending/pos/unapply.scala b/test/pending/pos/unapply.scala deleted file mode 100644 index 4ddc93120b..0000000000 --- a/test/pending/pos/unapply.scala +++ /dev/null @@ -1,55 +0,0 @@ -object Test { - def main(args:Array[String]) = { - Foo.run - Mas.run - } -} -object Foo { - def unapply(x: Any): Option[Product2[Int, String]] = x match { - case y: Bar => Some(Tuple(y.size, y.name)) - case _ => None - }/* - // ERROR: test/pending/pos/unapply.scala:6 error: method unapply is defined twice - def unapply(x: Any): Option[Product1[String]] = x match { - case y: Bar => Some(Tuple(y.name)) - case _ => None - }*/ - def run: Unit = { - val b = new Bar - b match { - case Foo(s:Int, n:String) => Console.println("size "+s+" name "+n) - } - b.size = 54 - b.name = "large" - b match { - case Foo(s:Int, n:String) => Console.println("size "+s+" name "+n) - }/* - b match { - case Foo(n) => Console.println("name " + n) - }*/ - } -} - -class Bar { - var size: Int = 50 - var name: String = "medium" -} - -object Mas { - object Gaz { - def unapply(x: Any): Option[Product2[Int, String]] = x match { - case y: Baz => Some(Tuple(y.size, y.name)) - case _ => None - } - } - class Baz { - var size: Int = 60 - var name: String = "too large" - } - def run: Unit = { - val b = new Baz - b match { - case Gaz(s:Int, n:String) => Console.println("size "+s+" name "+n) - } - } -} |