Richard Searle

home

Resolved the ()=>Unit surprise

28 Mar 2012

f{() => println("2")} calls f with a value that is a function. Scala has a special case where expressions with a return type of Unit discard any value that might otherwise be returned. In this case, the expression is() => println("2"). The resultant Unit matches the signature of f, which explains why the compiler does not complain.