summaryrefslogtreecommitdiff
path: root/test/files/run/missingparams.scala
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2008-11-06 17:26:52 +0000
committerIulian Dragos <jaguarul@gmail.com>2008-11-06 17:26:52 +0000
commit7e736ed0a8109f00d721cb1a78152c91ef133b2d (patch)
treebc29db92f2615a58d8ed7d6c18dbc84eb8fcdc8e /test/files/run/missingparams.scala
parent67935e969fb3315e209b52600bbafff97598a20e (diff)
downloadscala-7e736ed0a8109f00d721cb1a78152c91ef133b2d.tar.gz
scala-7e736ed0a8109f00d721cb1a78152c91ef133b2d.tar.bz2
scala-7e736ed0a8109f00d721cb1a78152c91ef133b2d.zip
Fixed optimiser bugs, now all tests pass when u...
Fixed optimiser bugs, now all tests pass when using the optimised compiler.
Diffstat (limited to 'test/files/run/missingparams.scala')
-rw-r--r--test/files/run/missingparams.scala21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/files/run/missingparams.scala b/test/files/run/missingparams.scala
new file mode 100644
index 0000000000..3672fdf76f
--- /dev/null
+++ b/test/files/run/missingparams.scala
@@ -0,0 +1,21 @@
+/** Tests the optimiser. */
+
+final class Foo(val x: Int) {
+ def filter(p: Int => Boolean) =
+ if (p(x)) Some(x) else None
+
+ // test that the closure elimination is not wrongly replacing
+ // 'that' by 'this'
+ def intersect(that: Foo) =
+ filter { dummy =>
+// x // dummy
+ that.x > 0
+ }
+}
+
+object Test extends Application {
+ val foo1 = new Foo(42)
+ val foo2 = new Foo(-42)
+
+ println(foo1 intersect foo2)
+}