On Tue, Feb 6, 2018 at 10:31 PM Patrick Smith <[email protected]> wrote:
> Obviously I can code around this, but is it a bug that should be reported? 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]) { … } """" Fix eg.: https://play.golang.org/p/NaIiGMWiZ8U -- -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 [email protected]. For more options, visit https://groups.google.com/d/optout.
