Statement list expression

Statements can also occur in an expression context that looks like (stmt1; stmt2; …; ex). This is called an statement list expression or (;). The type of (stmt1; stmt2; …; ex) is the type of ex. All the other statements must be of type void. (One can use discard to produce a void type.) (;) does not introduce a new scope.