aboutsummaryrefslogtreecommitdiff
path: root/cmp/internal
diff options
context:
space:
mode:
authorJoe Tsai <joetsai@digital-static.net>2021-10-12 10:46:09 -0700
committerGitHub <noreply@github.com>2021-10-12 10:46:09 -0700
commitf1773ad7bdb1ddccb1801c5b8ca4311cf0d301e4 (patch)
tree9970edec5338ceb8d0565588c2ffbe8ad641672c /cmp/internal
parent9094ef9afacbd93e9f232d0ccadaf8530f353441 (diff)
downloadgo-cmp-f1773ad7bdb1ddccb1801c5b8ca4311cf0d301e4.tar.gz
Use any alias instead of interface{} (#276)
See golang/go#33232.
Diffstat (limited to 'cmp/internal')
-rw-r--r--cmp/internal/value/name.go7
-rw-r--r--cmp/internal/value/name_test.go2
2 files changed, 8 insertions, 1 deletions
diff --git a/cmp/internal/value/name.go b/cmp/internal/value/name.go
index b6c12ce..7b498bb 100644
--- a/cmp/internal/value/name.go
+++ b/cmp/internal/value/name.go
@@ -9,6 +9,8 @@ import (
"strconv"
)
+var anyType = reflect.TypeOf((*interface{})(nil)).Elem()
+
// TypeString is nearly identical to reflect.Type.String,
// but has an additional option to specify that full type names be used.
func TypeString(t reflect.Type, qualified bool) string {
@@ -20,6 +22,11 @@ func appendTypeName(b []byte, t reflect.Type, qualified, elideFunc bool) []byte
// of the same name and within the same package,
// but declared within the namespace of different functions.
+ // Use the "any" alias instead of "interface{}" for better readability.
+ if t == anyType {
+ return append(b, "any"...)
+ }
+
// Named type.
if t.Name() != "" {
if qualified && t.PkgPath() != "" {
diff --git a/cmp/internal/value/name_test.go b/cmp/internal/value/name_test.go
index 3eec91c..c177e72 100644
--- a/cmp/internal/value/name_test.go
+++ b/cmp/internal/value/name_test.go
@@ -111,7 +111,7 @@ func TestTypeString(t *testing.T) {
want: "*$PackagePath.Named",
}, {
in: (*interface{})(nil),
- want: "*interface{}",
+ want: "*any",
}, {
in: (*interface{ Read([]byte) (int, error) })(nil),
want: "*interface{ Read([]uint8) (int, error) }",