]> Cypherpunks repositories - gostls13.git/commitdiff
go/parser: better error message for declaration error
authorRobert Griesemer <gri@golang.org>
Wed, 9 Jan 2013 19:31:57 +0000 (11:31 -0800)
committerRobert Griesemer <gri@golang.org>
Wed, 9 Jan 2013 19:31:57 +0000 (11:31 -0800)
Fixes #4616.

R=rsc
CC=golang-dev
https://golang.org/cl/7069049

src/pkg/go/parser/parser.go
src/pkg/go/parser/short_test.go

index cf94e00653eb5f9e2b8359b0f063b2e1b64a4300..959af387200912d801a0e41f3bc07993b83d7716 100644 (file)
@@ -149,7 +149,7 @@ func (p *parser) shortVarDecl(decl *ast.AssignStmt, list []ast.Expr) {
                                }
                        }
                } else {
-                       p.errorExpected(x.Pos(), "identifier")
+                       p.errorExpected(x.Pos(), "identifier on left side of :=")
                }
        }
        if n == 0 && p.mode&DeclarationErrors != 0 {
index daba853088631f4bccfb81d37b666b17866888ef..c62f7e050649303f19f77b35f44f0dedc66d721f 100644 (file)
@@ -70,6 +70,7 @@ var invalids = []string{
        `package p; func f() { select { case _ <- chan /* ERROR "expected expression" */ int: } };`,
        `package p; func f() { _ = (<-<- /* ERROR "expected 'chan'" */ chan int)(nil) };`,
        `package p; func f() { _ = (<-chan<-chan<-chan<-chan<-chan<- /* ERROR "expected channel type" */ int)(nil) };`,
+       `package p; func f() { var t []int; t /* ERROR "expected identifier on left side of :=" */ [0] := 0 };`,
 }
 
 func TestInvalid(t *testing.T) {