Я попытался использовать Nil как значение для Set, но получил ошибку (ожидаемый, так как тип Nil равен List)
Спасибо
Ответ 1
Set.empty - это множество; хотя вы не можете получить его непосредственно, оказывается, что это просто частный объект в объекте Set сопутствующего объекта (называемый, очевидно, EmptySet). Все, что делает Set.empty, - это возврат, установленный с приведением в правильный тип.
Это делается таким образом, а не с Nil, потому что множества инвариантны по своим параметрам. Nil - List[Nothing](), но вы ничего не могли добавить к Set[Nothing]().
Если вам нужно указать тип вашего пустого набора, вы можете использовать, например. Set.empty[String].
Ответ 2
Вы можете использовать Set.empty или просто Set().