The go/parser deliberately accepts a larger language than what the spec permits, for more lenient parsing which permits better error messages later. If you run through go/types, you will get the error:
$ gotype z.go
z.go:5:9: missing type or init expr
z.go:5:9: x declared but not used
Perhaps in this case the parser could be tightened a bit.
It's trivial to add a verification pass if this is required. This is issue is not urgent.