From: Zhou Peng Date: Thu, 31 May 2018 06:52:19 +0000 (+0000) Subject: reflect: reuse values during comparison of maps in DeepEqual X-Git-Tag: go1.11beta1~247 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=c4f9fa1f8ee623558ed40d4d4cd3c616697cc77b;p=gostls13.git reflect: reuse values during comparison of maps in DeepEqual Change-Id: I82f999b8ed9434321a361bf1bcbed7cf6ee4bee6 Reviewed-on: https://go-review.googlesource.com/115475 Reviewed-by: Brad Fitzpatrick Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- diff --git a/src/reflect/deepequal.go b/src/reflect/deepequal.go index 2fdd6a3d82..5b6694d3f0 100644 --- a/src/reflect/deepequal.go +++ b/src/reflect/deepequal.go @@ -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 } }