From e704b0993b69b564d7a0f515cf206f2cc9f1a342 Mon Sep 17 00:00:00 2001 From: Mark Freeman Date: Fri, 14 Nov 2025 15:04:28 -0500 Subject: [PATCH] go/types, types2: shorten object map assertion It's a fairly well-known invariant that each object must exist in the object map and cannot be nil. This change just shortens a check of that invariant. Change-Id: Id15c158c3a9ad91cdc230fb0b84eb69b2451cbdc Reviewed-on: https://go-review.googlesource.com/c/go/+/722061 LUCI-TryBot-Result: Go LUCI Auto-Submit: Mark Freeman Reviewed-by: Robert Griesemer --- src/cmd/compile/internal/types2/decl.go | 7 ++----- src/go/types/decl.go | 7 ++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/cmd/compile/internal/types2/decl.go b/src/cmd/compile/internal/types2/decl.go index 5cb52fdbe4..4f9f7c25e7 100644 --- a/src/cmd/compile/internal/types2/decl.go +++ b/src/cmd/compile/internal/types2/decl.go @@ -133,11 +133,8 @@ func (check *Checker) objDecl(obj Object, def *TypeName) { check.push(obj) defer check.pop() - d := check.objMap[obj] - if d == nil { - check.dump("%v: %s should have been declared", obj.Pos(), obj) - panic("unreachable") - } + d, ok := check.objMap[obj] + assert(ok) // save/restore current environment and set up object environment defer func(env environment) { diff --git a/src/go/types/decl.go b/src/go/types/decl.go index fffcb590e6..1b0aa77ff3 100644 --- a/src/go/types/decl.go +++ b/src/go/types/decl.go @@ -134,11 +134,8 @@ func (check *Checker) objDecl(obj Object, def *TypeName) { check.push(obj) // mark as grey defer check.pop() - d := check.objMap[obj] - if d == nil { - check.dump("%v: %s should have been declared", obj.Pos(), obj) - panic("unreachable") - } + d, ok := check.objMap[obj] + assert(ok) // save/restore current environment and set up object environment defer func(env environment) { -- 2.52.0