From 72013c47009d99c5ded7407bf80d90bd8ba95d3e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Mart=C3=AD?= Date: Sat, 25 Mar 2023 11:59:17 +0000 Subject: [PATCH] encoding/gob: reuse calls to TypeOf for wireType MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit After the previous commit, both calls use the non-pointer type, so we can deduplicate. No noticeable difference in init cost. Change-Id: I0f0fb91d42655787cb58b4442ad3da4194560af4 Reviewed-on: https://go-review.googlesource.com/c/go/+/479399 Reviewed-by: Matthew Dempsky Run-TryBot: Daniel Martí Reviewed-by: Ian Lance Taylor TryBot-Result: Gopher Robot Reviewed-by: Rob Pike --- src/encoding/gob/type.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/encoding/gob/type.go b/src/encoding/gob/type.go index f8b7b24db7..efaed68749 100644 --- a/src/encoding/gob/type.go +++ b/src/encoding/gob/type.go @@ -109,6 +109,8 @@ var ( binaryUnmarshalerInterfaceType = reflect.TypeOf((*encoding.BinaryUnmarshaler)(nil)).Elem() textMarshalerInterfaceType = reflect.TypeOf((*encoding.TextMarshaler)(nil)).Elem() textUnmarshalerInterfaceType = reflect.TypeOf((*encoding.TextUnmarshaler)(nil)).Elem() + + wireTypeType = reflect.TypeOf((*wireType)(nil)).Elem() ) // implementsInterface reports whether the type implements the @@ -262,7 +264,7 @@ var ( ) // Predefined because it's needed by the Decoder -var tWireType = mustGetTypeInfo(reflect.TypeOf((*wireType)(nil)).Elem()).id +var tWireType = mustGetTypeInfo(wireTypeType).id var wireTypeUserInfo *userTypeInfo // userTypeInfo of wireType func init() { @@ -284,7 +286,7 @@ func init() { } idToType = idToType[:firstUserId] registerBasics() - wireTypeUserInfo = userType(reflect.TypeOf((*wireType)(nil)).Elem()) + wireTypeUserInfo = userType(wireTypeType) } // Array type -- 2.51.0