by-name argument incorrectly evaluated on :-ending operator
Reported by: 	extempore 	Owned by: 	odersky
Priority: 	normal 	Component: 	Compiler
Keywords: 		Cc: 	paulp@…
Fixed in version: 	
Description

scala> def foo() = { println("foo") ; 5 }
foo: ()Int

scala> class C { def m1(f: => Int) = () ; def m2_:(f: => Int) = () }
defined class C

scala> val c = new C
c: C = C@96d484

scala> c m1 foo()

scala> foo() m2_: c
foo

But it is not evaluated if invoked directly:

scala> c.m2_:(foo())

scala>

