]> Cypherpunks repositories - gostls13.git/commit
[release-branch.go1.19] cmd/compile: fix wrong typeparams for selector expr with...
authorCuong Manh Le <cuong.manhle.vn@gmail.com>
Sat, 23 Jul 2022 15:31:35 +0000 (22:31 +0700)
committerCarlos Amedee <carlos@golang.org>
Wed, 17 Aug 2022 15:12:12 +0000 (15:12 +0000)
commit16c2b3615ae7b565947ff7d0cff06d4809236c2e
treefd6d9211a350488707b7e98e690186af7be20c05
parent3c200d6c81e75348e583297b1295f8e34b07b61c
[release-branch.go1.19] cmd/compile: fix wrong typeparams for selector expr with embedded generic type

For selector expression "x.M" where "M" is a promoted method, irgen is using
the type of receiver "x" for determining the typeparams for instantiation.
However, because M is a promoted method, so its associated receiver is
not "x", but "x.T" where "T" is the embedded field of "x". That casues a
mismatch when converting non-shape types arguments.

Fixing it by using the actual receiver which has the method, instead of
using the base receiver.

Fixes #54243

Change-Id: I1836fc422d734df14e9e6664d4bd014503960bfc
Reviewed-on: https://go-review.googlesource.com/c/go/+/419294
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/423114
Reviewed-by: Carlos Amedee <carlos@golang.org>
src/cmd/compile/internal/noder/stencil.go
test/fixedbugs/issue53982.go [new file with mode: 0644]