aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/types2/typexpr.go
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2021-04-20 10:55:59 -0700
committerRobert Griesemer <gri@golang.org>2021-04-22 04:04:40 +0000
commit48b368b01fa1f4f9a4380722f03b35d449a09871 (patch)
tree0e8269518311c8b99d83ee653e789030ee2eafd8 /src/cmd/compile/internal/types2/typexpr.go
parent617a83ec68b7657b0185a6b190f04460de30f31e (diff)
downloadgo-48b368b01fa1f4f9a4380722f03b35d449a09871.tar.gz
go-48b368b01fa1f4f9a4380722f03b35d449a09871.zip
cmd/compile/internal/types2: avoid follow-on errors for invalid [...] array
Fixes #42987. Change-Id: Iaaa46e1f79525cd1e418c1a81a6414d11f8120b5 Reviewed-on: https://go-review.googlesource.com/c/go/+/311889 Trust: Robert Griesemer <gri@golang.org> Reviewed-by: Robert Findley <rfindley@google.com>
Diffstat (limited to 'src/cmd/compile/internal/types2/typexpr.go')
-rw-r--r--src/cmd/compile/internal/types2/typexpr.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/types2/typexpr.go b/src/cmd/compile/internal/types2/typexpr.go
index 61b290c075..e64d804c30 100644
--- a/src/cmd/compile/internal/types2/typexpr.go
+++ b/src/cmd/compile/internal/types2/typexpr.go
@@ -518,7 +518,10 @@ func (check *Checker) typInternal(e0 syntax.Expr, def *Named) (T Type) {
typ.len = -1
}
typ.elem = check.varType(e.Elem)
- return typ
+ if typ.len >= 0 {
+ return typ
+ }
+ // report error if we encountered [...]
case *syntax.SliceType:
typ := new(Slice)