cmd/compile/internal/types2: better error message for index syntax error (follow-up)

For #47704.

Change-Id: I09e6f638df0cd456a20a3b68ab55c47bb5b1f555
Reviewed-on: https://go-review.googlesource.com/c/go/+/342370
Trust: Robert Griesemer <gri@golang.org>
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
This commit is contained in:
Robert Griesemer 2021-08-15 12:34:59 -07:00
parent 6ed9463133
commit 717894cf80
2 changed files with 26 additions and 3 deletions

View file

@ -1049,10 +1049,15 @@ loop:
}
// x[i:...
// For better error message, don't use p.want(_Colon) here (issue #47704).
// For better error message, don't simply use p.want(_Colon) here (issue #47704).
if !p.got(_Colon) {
p.syntaxError("expecting : or ]")
p.advance(_Colon, _Rbrack)
if p.mode&AllowGenerics == 0 {
p.syntaxError("expecting : or ]")
p.advance(_Colon, _Rbrack)
} else {
p.syntaxError("expecting comma, : or ]")
p.advance(_Comma, _Colon, _Rbrack)
}
}
p.xnest++
t := new(SliceExpr)