]> Cypherpunks repositories - gostls13.git/commitdiff
reflect: reuse values during comparison of maps in DeepEqual
authorZhou Peng <p@ctriple.cn>
Thu, 31 May 2018 06:52:19 +0000 (06:52 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Thu, 31 May 2018 15:18:53 +0000 (15:18 +0000)
Change-Id: I82f999b8ed9434321a361bf1bcbed7cf6ee4bee6
Reviewed-on: https://go-review.googlesource.com/115475
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/reflect/deepequal.go

index 2fdd6a3d82ba35b31326d9a28c4bb23333d3eb8d..5b6694d3f0bebfa8b5a25e9e5931438b589f4bf1 100644 (file)
@@ -116,7 +116,7 @@ func deepValueEqual(v1, v2 Value, visited map[visit]bool, depth int) bool {
                for _, k := range v1.MapKeys() {
                        val1 := v1.MapIndex(k)
                        val2 := v2.MapIndex(k)
-                       if !val1.IsValid() || !val2.IsValid() || !deepValueEqual(v1.MapIndex(k), v2.MapIndex(k), visited, depth+1) {
+                       if !val1.IsValid() || !val2.IsValid() || !deepValueEqual(val1, val2, visited, depth+1) {
                                return false
                        }
                }