このように if ガードを内包するために使用すると、1 つのエラーが発生します。
コード:
for {
foo <- Left[String,String]("teststring").right
bar <- Right[String,String]("teststring").right if (foo==bar)
} yield (bar)
エラー:
error: type mismatch;
found : Option[scala.util.Either[Nothing,String]]
required: scala.util.Either[?,?]
bar <- Right[String,String]("teststring").right if (foo==bar)
^