aboutsummaryrefslogtreecommitdiff
path: root/src/cmd
diff options
context:
space:
mode:
authorOliver Eikemeier <eikemeier@fillmore-labs.com>2026-03-08 11:12:17 +0000
committerKeith Randall <khr@golang.org>2026-03-10 20:51:48 -0700
commit45c6fb4b9bff9eaaaae000ff223452403b9def4e (patch)
treec33c8b80625a3aee289168a9cbfb24aafa7815f1 /src/cmd
parent59b188cee2cdf522b621d1ee72c811fcd46e22b2 (diff)
downloadgo-45c6fb4b9bff9eaaaae000ff223452403b9def4e.tar.xz
cmd/compile: unwrap OCONVIFACE in staticinit for OAS2
Static initialization only expected OCONVNOP wrappings. Unwrap OCONVIFACE too, since it occurs when multiple return values of an OAS2FUNC are implicitly converted to an interface. Fixes #78016 Change-Id: Ic3fd6151403aabfc087d3240c1fcfabe7108cc0e GitHub-Last-Rev: 98976d9e64baa85f4f3181764308566aae991bbf GitHub-Pull-Request: golang/go#78017 Reviewed-on: https://go-review.googlesource.com/c/go/+/752780 Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Mark Freeman <markfreeman@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Keith Randall <khr@google.com>
Diffstat (limited to 'src/cmd')
-rw-r--r--src/cmd/compile/internal/staticinit/sched.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/staticinit/sched.go b/src/cmd/compile/internal/staticinit/sched.go
index 5e04d0df04..62331392a5 100644
--- a/src/cmd/compile/internal/staticinit/sched.go
+++ b/src/cmd/compile/internal/staticinit/sched.go
@@ -114,7 +114,7 @@ func (s *Schedule) tryStaticInit(n ir.Node) bool {
// "var a, b = f()" that needs type conversion, which is not static.
n := n.(*ir.AssignListStmt)
for _, rhs := range n.Rhs {
- for rhs.Op() == ir.OCONVNOP {
+ for rhs.Op() == ir.OCONVNOP || rhs.Op() == ir.OCONVIFACE {
rhs = rhs.(*ir.ConvExpr).X
}
if name, ok := rhs.(*ir.Name); !ok || !name.AutoTemp() {