Skip to content

by-name argument incorrectly evaluated on :-ending operator #1980

Closed
scala/scala
#5969
@scabug

Description

@scabug
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>

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions