Когда я вызываю + на 2, я получаю Int обратно, но когда его делается с использованием явного вызова метода, я получаю Double вместо.
scala> 2+2
res1: Int = 4
scala> 2.+(2)
res2: Double = 4.0
Кажется, что. +() вызывается в неявном преобразованном Int в Double.
scala> 2.+
<console>:16: error: ambiguous reference to overloaded definition,
both method + in class Double of type (x: Char)Double
and method + in class Double of type (x: Short)Double
match expected type ?
2.+
^
Почему это так?