for (Some(v) <- Map(...).values) yield v would throw MatchError as soon as it tries to process a value that doesn't conform to Some(v).
The tests didn't detect this because property("...") = rhs was re-evaluating rhs each time the property is evaluated, which means that Commands.property() only ran one evaluation at a time (so suts would always be empty when we run those for comprehensions).
Fixes #893
for (Some(v) <- Map(...).values) yield v
would throw MatchError as soon as it tries to process a value that doesn't conform to Some(v).The tests didn't detect this because
property("...") = rhs
was re-evaluatingrhs
each time the property is evaluated, which means that Commands.property() only ran one evaluation at a time (sosuts
would always be empty when we run those for comprehensions).