blob: 3672fdf76f920610d36aac4a9c2971a416dfd9aa (
plain) (
tree)
|
|
/** 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)
}
|