diff options
author | Martin Odersky <odersky@gmail.com> | 2008-07-28 10:00:31 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2008-07-28 10:00:31 +0000 |
commit | d492b489b176a3d2a4da0d199756af86514be352 (patch) | |
tree | e5cf7bedfa037a03f0fbf1bb72564114473edef0 /test/pending/run/t0508x.scala | |
parent | c8b3af98b9dd45a358332f60e3bc8f5b8b3c604a (diff) | |
download | scala-d492b489b176a3d2a4da0d199756af86514be352.tar.gz scala-d492b489b176a3d2a4da0d199756af86514be352.tar.bz2 scala-d492b489b176a3d2a4da0d199756af86514be352.zip |
fixed #842, #945, #83, #996, #1016, + some perf...
fixed #842, #945, #83, #996, #1016, + some performace tuning.
Diffstat (limited to 'test/pending/run/t0508x.scala')
-rwxr-xr-x | test/pending/run/t0508x.scala | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/pending/run/t0508x.scala b/test/pending/run/t0508x.scala new file mode 100755 index 0000000000..0c1ffde3ed --- /dev/null +++ b/test/pending/run/t0508x.scala @@ -0,0 +1,21 @@ + final object Test extends java.lang.Object with Application { + + class Foo(val s: String, val n: Int) extends java.lang.Object { + }; + + def foo[A >: Nothing <: Any, B >: Nothing <: Any, C >: Nothing <: Any] + (unapply1: (A) => Option[(B, C)], v: A): Unit = + unapply1.apply(v) match { + case Some((fst @ _, snd @ _)) => + scala.Predef.println(scala.Tuple2.apply[java.lang.String, java.lang.String]("first: ".+(fst), " second: ".+(snd))) + case _ => scala.Predef.println(":(") + } + Test.this.foo[Test.Foo, String, Int]({ + ((eta$0$1: Test.Foo) => Test.this.Foo.unapply(eta$0$1)) + }, Test.this.Foo.apply("this might be fun", 10)); + final object Foo extends java.lang.Object with ((String, Int) => Test.Foo) { + def unapply(x$0: Test.Foo): Some[(String, Int)] = scala.Some.apply[(String, Int)](scala.Tuple2.apply[String, Int](x$0.s, x$0.n)); + def apply(s: String, n: Int): Test.Foo = new Test.this.Foo(s, n) + } + } + |