The following only compiles with the 'filter' method, however it is never called:
object Foo
{
def foreach( f : ((Int,Int)) => Unit )
{
println("foreach")
f(1,2)
}
// def filter ( f : ((Int,Int)) => Boolean ) =
// {
// println("filter")
// this
// }
for( (a,b) <- this )
{
println((a,b))
}
}