blob: 67cb3ada9efde7b5940b2e7880e5562f32605764 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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>
|