From: Mark Freeman Date: Fri, 14 Nov 2025 20:04:28 +0000 (-0500) Subject: go/types, types2: shorten object map assertion X-Git-Tag: go1.26rc1~148 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e704b09;p=gostls13.git 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 --- 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) {