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
}
}