diff options
author | Robert Griesemer <gri@golang.org> | 2021-04-20 10:55:59 -0700 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2021-04-22 04:04:40 +0000 |
commit | 48b368b01fa1f4f9a4380722f03b35d449a09871 (patch) | |
tree | 0e8269518311c8b99d83ee653e789030ee2eafd8 /src/cmd/compile/internal/types2/typexpr.go | |
parent | 617a83ec68b7657b0185a6b190f04460de30f31e (diff) | |
download | go-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.go | 5 |
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) |