Как расширить класс с неявным параметром в Scala
Класс B(неявный imp: Int) расширяет AC { }
объект C расширяет B {
}
Ошибка: не удалось найти неявное значение для параметра imp
Это то, что я искал: как предоставить значение по умолчанию для неявных параметров на уровне класса
2 ответа
Решение
scala> class B(implicit imp:Int)
defined class B
scala> class C extends B()(1)
defined class C
scala> implicit val imp:Int = 2
imp: Int = 2
scala> class D extends B
defined class D
scala>
Вы расширяете его так же, как расширяете класс неявными параметрами, но сначала вам нужен пустой список параметров:
scala> object C extends B()(5) {}
defined module C