Как говорится в сообщении, myPool.tail
имеет тип HashSet[String]
, а ваша переменная MyPool
объявлена HashSet[String] with SynchronizedSet[String]
Вам просто нужно объявить тип, который вы хотите, чтобы избежать слишком точного логического вывода.
var myPool : HashSet[String] = new HashSet[String] with SynchronizedSet[String]
Обратите внимание, что для изменяемого набора tail
является дорогостоящей операцией и возвращает вам новый набор. Это может быть не то, что вы хотите. (Более того, в спецификации не указано, какой элемент будет удален)