]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: copy captured dictionary var to local var
authorKeith Randall <khr@golang.org>
Fri, 20 Aug 2021 17:19:28 +0000 (10:19 -0700)
committerKeith Randall <khr@golang.org>
Mon, 23 Aug 2021 17:51:41 +0000 (17:51 +0000)
commit8486ced8b09f4425bfd85e09b021dc78f93aea08
tree1c778d44a91c3d0ab320d4d9aa8093cf7a29dc81
parentaeec6dbfe009f371021bddba13e2eb18e5d1a469
cmd/compile: copy captured dictionary var to local var

When starting a closure that needs a dictionary, copy the closure
variable to a local variable. This lets child closures capture that
dictionary variable correctly.

This is a better fix for #47684, which does not cause problems
like #47723.

Fixes #47723
Update #47684

Change-Id: Ib5d9ffc68a5142e28daa7d0d75683e7a35508540
Reviewed-on: https://go-review.googlesource.com/c/go/+/343871
Trust: Keith Randall <khr@golang.org>
Trust: Dan Scales <danscales@google.com>
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dan Scales <danscales@google.com>
src/cmd/compile/internal/ir/name.go
src/cmd/compile/internal/noder/stencil.go
test/typeparam/issue47723.go [new file with mode: 0644]