Общий шаблон Enrich-My-Library выглядит примерно так:
class Foo(value: Int)
implicit def int2Foo(i: Int) = new Foo(i)
Почему невозможно просто добавить implicit
к самому конструктору, как этот
class Foo implicit (value: Int)
учитывая, что конструктор не намного больше, чем метод с некоторыми дополнительными ограничениями?
Удивительно, но работает следующее:
class Foo(value: Int) {
implicit def this(a: String) = this(a.toInt)
}