Как мне указать newBuilder для набора scala?

Я пытаюсь расширить набор целых чисел в Scala. На основеболее ранний ответ Я решил использовать объект SetProxy. Я сейчас пытаюсь реализоватьnewBuilder механизм, как описано в главе 25 второго изданияПрограммирование в Scala и у меня проблемы. В частности, я не могу понять, какой параметр указатьSetBuilder объект. Вот что я попробовал.

package example

import scala.collection.immutable.{HashSet, SetProxy}
import scala.collection.mutable

case class CustomSet(override val self: Set[Int]) extends SetProxy[Int] {
  override def newBuilder[Int, CustomSet] = 
    new mutable.SetBuilder[Int, CustomSet](CustomSet())
}

object CustomSet {
  def apply(values: Int*): CustomSet = CustomSet(HashSet(values.toSeq: _*))
}

Это не компилируется. Здесь ошибка.

scala: type mismatch;
 found   : example.CustomSet
 required: CustomSet
  override def newBuilder[Int, CustomSet] = new mutable.SetBuilder[Int, CustomSet](CustomSet())
                                                                                        ^

Это мистифицирует меня. Я'Мы пробовали различные варианты проблемного значения, но ни один из них не работает. Как мне сделать эту компиляцию?

В дополнение кПрограммирование в Scala I 'просматривал различные сообщения StackOverflow, такие какэтот, но остаются мистифицированными.

Ответы на вопрос(1)

Ваш ответ на вопрос