diff options
| author | Robert Griesemer <gri@golang.org> | 2021-08-15 12:34:59 -0700 |
|---|---|---|
| committer | Robert Griesemer <gri@golang.org> | 2021-08-15 19:56:18 +0000 |
| commit | 717894cf8024cfaad629f0e66a4b9bc123676be5 (patch) | |
| tree | 3a519fabaa0b24fba7cfc75c5b43e7f45013f199 /src/cmd/compile/internal/syntax/parser.go | |
| parent | 6ed9463133daabcf11b259155c3f3348ae5a06af (diff) | |
| download | go-717894cf8024cfaad629f0e66a4b9bc123676be5.tar.xz | |
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>
Diffstat (limited to 'src/cmd/compile/internal/syntax/parser.go')
| -rw-r--r-- | src/cmd/compile/internal/syntax/parser.go | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/cmd/compile/internal/syntax/parser.go b/src/cmd/compile/internal/syntax/parser.go index 29f5c88d0f..4fb6de10a8 100644 --- a/src/cmd/compile/internal/syntax/parser.go +++ b/src/cmd/compile/internal/syntax/parser.go @@ -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) |
