From 74a7cc9bf2fcf034c5de92b9217e7fab51880e73 Mon Sep 17 00:00:00 2001 From: Rob Pike Date: Wed, 26 Sep 2012 15:21:07 +1000 Subject: [PATCH] reflect.DeepEqual: document that empty and nil are unequal for slices Update #4133. Added a sentence of documentation to call out the behavior. R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/6572051 --- src/pkg/reflect/deepequal.go | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pkg/reflect/deepequal.go b/src/pkg/reflect/deepequal.go index c12e90f36c..8ca20750a9 100644 --- a/src/pkg/reflect/deepequal.go +++ b/src/pkg/reflect/deepequal.go @@ -125,6 +125,7 @@ func deepValueEqual(v1, v2 Value, visited map[uintptr]*visit, depth int) (b bool // DeepEqual tests for deep equality. It uses normal == equality where possible // but will scan members of arrays, slices, maps, and fields of structs. It correctly // handles recursive types. Functions are equal only if they are both nil. +// Note: unlike regular ==, DeepEqual distinguishes an empty slice from a nil slice. func DeepEqual(a1, a2 interface{}) bool { if a1 == nil || a2 == nil { return a1 == a2 -- 2.48.1