On Tue, Feb 6, 2018 at 1:37 PM, Jan Mercl <0xj...@gmail.com> wrote:
>
> Not a bug. 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]) { … }
>
> """"
>

Ah. I missed that. Thanks!

-- 
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