Search code examples
scalaunit-type

Scala: Why can I convert Int to Unit?


I've recently started playing with Scala (2.8) and noticed the I can write the following code (in the Scala Interpreter):

scala> var x : Unit = 10
x : Unit = ()

It's not obvious what's going on there. I really didn't expect to see any implicit conversion to Unit.


Solution

  • See section "6.26.1 Value Conversions" in the Scala Language Specification version 2.8:

    ...

    Value Discarding. If e has some value type and the expected type is Unit, e is converted to the expected type by embedding it in the term { e; () }.

    ...