go/test/fixedbugs/issue77435.go
Keith Randall b8bccb9798 cmd/compile: don't double-walk the map argument of clear
mkcallstmt1 already walks the map argument of clear. mapClear then
walks it again, which can cause problems if it is some syntax that is
non-idempotent under walk.  That is the case for the new way map
lookups are being lowered in CL 736020.

Fixes #77435

Change-Id: Ib2f6d7f2270308c2462aa276ed4413aaf7799fe3
Reviewed-on: https://go-review.googlesource.com/c/go/+/742120
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
2026-02-04 17:48:06 -08:00

15 lines
371 B
Go

// compile
// Copyright 2026 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Issue 77435: compiler crash on clear of map resulting
// from a map lookup (or some other syntax that is
// non-idempotent during walk).
package p
func f(s map[int]map[int]int) {
clear(s[0])
}