Кажется, это работает, если вы помогаете логическому выводу типов при вызове конструктора для B
:
class X
class A(implicit c: X)
class B[T](arg: T)(implicit c: X) extends A
class C(arg: Int)(implicit c: X) extends B[Int](arg)
Так что это не выглядит как фундаментальное ограничение.Но сообщение об ошибке, которое вы не включили, очень бесполезно не удалось найти неявное значение для параметра c: X .