diff --git a/src/reflect/type.go b/src/reflect/type.go index 1782878f869..d50559e9339 100644 --- a/src/reflect/type.go +++ b/src/reflect/type.go @@ -1599,7 +1599,7 @@ func haveIdenticalType(T, V Type, cmpTags bool) bool { return T == V } - if T.Name() != V.Name() || T.Kind() != V.Kind() { + if T.Name() != V.Name() || T.Kind() != V.Kind() || T.PkgPath() != V.PkgPath() { return false } @@ -1679,9 +1679,6 @@ func haveIdenticalUnderlyingType(T, V *rtype, cmpTags bool) bool { if tf.name.name() != vf.name.name() { return false } - if tf.typ.Kind() != Struct && tf.typ.str != vf.typ.str { - return false - } if !haveIdenticalType(tf.typ, vf.typ, cmpTags) { return false }