Я переношу свой первый набег в скаляр, преобразовав существующий класс в черту Моноид .То, чего я пытаюсь добиться, - это установить представление для моего параметра типа класса, чтобы гарантировать его использование только с типами, которые могут быть неявно преобразованы в 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 в черту, и это сработало нормально.
Чего мне не хватает сейчас, когда я преобразовал это в скаляр?
Спасибо, Крис