On Mon, Oct 8, 2018 at 9:10 PM Raffaele Sena <raff...@gmail.com> wrote:

See https://golang.org/ref/spec#Composite_literals

A parsing ambiguity arises when a composite literal using the TypeName form
of the LiteralType appears as an operand between the keyword
<https://golang.org/ref/spec#Keywords> and the opening brace of the block
of an "if", "for", or "switch" statement, and the composite literal is not
enclosed in parentheses, square brackets, or curly braces. In this rare
case, the opening brace of the literal is erroneously parsed as the one
introducing the block of statements. To resolve the ambiguity, the
composite literal must appear within parentheses.

        if x == (T{a,b,c}[i]) { … }
        if (x == T{a,b,c}[i]) { … }


-- 

-j

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to