Scala: comportamento estranho na correspondência de padrões `for` para nenhum caso

Comportamento estranho emfor correspondência de padrões de ciclo:

scala> val a = Seq(Some(1), None)
a: Seq[Option[Int]] = List(Some(1), None)

scala> for (Some(x) <- a) { println(x) }
1

scala> for (None <- a) { println("none") }
none
none

Por que no segundo exemplo duas saídas'none' produzido? Talvez este exemplo seja sintético e não prático, mas esse comportamento não é esperado. Esse bug ou recurso?

questionAnswers(2)

yourAnswerToTheQuestion