A pair of expressions separated by a comma is evaluated left-to-right;
the left expression is
a discarded-value expression.
The left expression is sequenced before
the right expression ([intro.execution]).
The type and value of the
result are the type and value of the right operand; the result is of the same
value category as its right operand, and is a bit-field if its
right operand is a bit-field.