It's not the lexer. The issue is in the spec:
A parsing ambiguity arises when a composite literal using the TypeName
form of the LiteralType appears between the keyword and the opening
brace of the block of an "if", "for", or "switch" statement, because
the braces surrounding the expressions in the literal are confused
with those introducing the block of statements. To resolve the
ambiguity in this rare case, the composite literal must appear within
parentheses.
-rob