On Fri, 11 Mar 2016 14:29:39 +0000, Marc Schütz wrote: >> 0 "Inside tuple literal, ; never appears." >> {{;}} // a tuple not matching your specification >> {{if(foo()){}}} // a non-tuple matching your specification > > This is not a serious problem, because it just means that the DIP needs > to be rephrased. There is no actual ambiguity.
{{if(foo()){}}} looks like a tuple containing a delegate or a delegate containing a BlockStatement. {} looks like an empty tuple and an empty void delegate(). The proposal resolves the ambiguity by fiat: ambiguous things are classified as tuples. This is a breaking change and should have been called out in the proposal.