Учитывая следующее определение типа:Как работает неявное преобразование в Scala?
type Set = Int => Boolean
я могу объявить функцию, которая возвращает набор два способа
def singletonSet(elem: Int): Set =
value => value == elem
или
def singletonSet(elem: Int): Set =
Set(elem)
Второе определение использует набор из Scala Стандартная библиотека, а не объявленный тип, но как Scala неявно преобразуется в объявленный тип Set? Мне нечетное преобразование кажется странным.
Для уточнения второго определения, я изменил имя типа в следующем действующем коде:
type SetX = Int => Boolean
def singletonSet(elem: Int): SetX =
Set(elem)