Я совершаю свой первый набег на scalaz, преобразовывая существующий класс для использования Monoid черта. Я пытаюсь установить привязку представления к параметру типа моего класса, чтобы гарантировать, что его можно использовать только с типами, которые можно неявно преобразовать в моноид. Мое (упрощенное) определение класса выглядит следующим образом:
import scalaz._
import Scalaz._
case class Foo[T <% Monoid[T]](v: T)
new Foo(42)
Компиляция этого простого примера дает ошибку компилятора:
error: No implicit view available from Int => scalaz.Monoid[Int].
Раньше эта граница представления была определена на основе моего собственного настраиваемого признака с неявным преобразованием из T в признак, и это работало нормально.
Что мне не хватает теперь, когда я преобразовал это в скалаз?
Спасибо, Крис