diff --git a/src/runtime/interface.go b/src/runtime/interface.go index 028ea31a..9a327510 100644 --- a/src/runtime/interface.go +++ b/src/runtime/interface.go @@ -47,7 +47,7 @@ func reflectValueEqual(x, y reflect.Value) bool { return x.Bool() == y.Bool() case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: return x.Int() == y.Int() - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: return x.Uint() == y.Uint() case reflect.Float32, reflect.Float64: return x.Float() == y.Float() diff --git a/testdata/interface.go b/testdata/interface.go index 23f99770..51180a41 100644 --- a/testdata/interface.go +++ b/testdata/interface.go @@ -50,6 +50,7 @@ func main() { {true, uint16(1), uint16(1)}, {true, uint32(1), uint32(1)}, {true, uint64(1), uint64(1)}, + {true, uintptr(1), uintptr(1)}, {true, float32(1.1), float32(1.1)}, {true, float64(1.1), float64(1.1)}, {true, complex(100, 8), complex(100, 8)},