У меня есть следующий фильтрНевозможно выполнить вариант отображенных операций с типом: (Boolean, _57) => R
type DatabaseID = Long
val filter = moderators.filter(m =>
(m.created < before) &&
(m.userType inSet userTypeList) &&
(if(true) m.mcID === mcIDFilter else true)
)
где m.mcID
имеет Rep[Option[models.DatabaseID]]
типа и mcIDFilter
Option[models.DatabaseID]
.
Почему я получаю следующую ошибку?
Cannot perform option-mapped operation
with type: (Boolean, _57) => R
for base type: (Boolean, Boolean) => Boolean
_57
? Что это?
Я заменил условие на true
для простоты. Если я удаляю строку с условием или заменяю m.mcID === mcIDFilter
только true
, код компилируется в порядке.
Кроме того, если я удалить if
заявление, он компилируется без ошибок:
val filter = moderators.filter(m =>
(m.created < before) &&
(m.userType inSet userTypeList) &&
m.mcID === mcIDFilter
)
Я обнаружил, что эта ошибка появляется, когда тип один из операндов не имеют один и тот же тип.
Я также попытался
val filter = moderators.filter(m =>
(m.created < before) &&
(m.userType inSet userTypeList) &&
(if(true) m.mcID === mcIDFilter else true:Rep[Boolean])
)
, но без успеха.