2016-06-22 3 views
3

Когда у меня есть этот импорт, как указано в documentationПочему у меня есть ошибки компиляции с Monoid от кошек

import cats.std.all._ 

Следующий код не компилируется:

def merge(m1: Map[String, Int], m2: Map[String, Int]): Map[String, Int] = m1 |+| m2 

Я получил эту ошибку :

value |+| is not a member of Map[String,Int] 

Когда я удаляю импорт, он работает. Это ошибка в документе или я могу что-то пропустить?

+0

Вы используете 'import cats.implicits._'? –

+2

Ошибка в документации для использования обоих импортов в одно и то же время, когда следующая версия кошек будет опубликована, в документах будет упоминаться только 'import cats.implicits._' (см. [Источник моноидных документов] (https : //github.com/typelevel/cats/blob/master/docs/src/main/tut/monoid.md) в github). –

+0

Спасибо @PeterNeyens –

ответ

0

возможно |+| переопределяется в cats.std.all._. Просто импортируйте из этой библиотеки только то, что вам необходимо.

Смежные вопросы