diff options
| author | Leonard Wang <wangdeyu0907@gmail.com> | 2021-10-07 20:14:22 +0800 |
|---|---|---|
| committer | Dan Scales <danscales@google.com> | 2021-10-07 16:38:24 +0000 |
| commit | be571a36c7aa7198aef4712f8c6cde633e2f380b (patch) | |
| tree | 9fc3baebc38b448685ac859bc56902b1442d7af4 /src/cmd/compile/internal/noder | |
| parent | ebeab63d9515b539ae627f10cfc1766eecd243aa (diff) | |
| download | go-be571a36c7aa7198aef4712f8c6cde633e2f380b.tar.xz | |
cmd/compile: fix the index variable is shadowed in dictPass
The CL 349613 causes this problem.
In fact, we want to use the outer i to find m.List[i],
but the newly created index variable i in the nearest
for range shadow the outer i.
Fixes #48838.
Change-Id: I10f0bd985340f9443eefaadda6fc56e4e7e9a10c
Reviewed-on: https://go-review.googlesource.com/c/go/+/354549
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Dan Scales <danscales@google.com>
Trust: Dan Scales <danscales@google.com>
Diffstat (limited to 'src/cmd/compile/internal/noder')
| -rw-r--r-- | src/cmd/compile/internal/noder/stencil.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cmd/compile/internal/noder/stencil.go b/src/cmd/compile/internal/noder/stencil.go index 2bc1756b8d..62d6a45819 100644 --- a/src/cmd/compile/internal/noder/stencil.go +++ b/src/cmd/compile/internal/noder/stencil.go @@ -1298,9 +1298,9 @@ func (g *irgen) dictPass(info *instInfo) { // Type switch from nonempty interface. We need a *runtime.itab // for the dynamic type. ix := -1 - for i, ic := range info.dictInfo.itabConvs { + for j, ic := range info.dictInfo.itabConvs { if ic == m.List[i] { - ix = info.dictInfo.startItabConv + i + ix = info.dictInfo.startItabConv + j break } } |
