Я написал этот код, и он прекрасно компилируется
for {
list : List[Int] <- Future(List(1, 2, 3))
} yield list.size
res7: Future[Int] = Future(Success(3))
Но если я преобразую этот код в
for {
list : List[Int] <- IO(List(1, 2, 3))
} yield list.size
, я получу ошибку во время компиляции
value withFilter is not a member of cats.effect.IO[List[Int]]
Если я удаляю тип, то он прекрасно компилируется
for {
list <- IO(List(1, 2, 3)) // returns IO[List[Int]]
} yield list.size
res8: IO[Int] = Map(Delay(<function0>), <function1>, 0)
Почему я не могу указать тип с помощью ввода-вывода?
У меня включено частичное объединение, поэтому этого не может быть :)