From bad6782c1ca1b1a78f004cf69e64edf0eb2e170d Mon Sep 17 00:00:00 2001 From: Tom Bevan Date: Mon, 28 Jun 2021 19:34:55 +0100 Subject: [PATCH] only iterate over fields when map uses structs as keys --- patch_map.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patch_map.go b/patch_map.go index 06a4541..a5352a8 100644 --- a/patch_map.go +++ b/patch_map.go @@ -76,7 +76,7 @@ func (d *Differ) deleteMapEntry(c *ChangeValue, m, k, v *reflect.Value) { return } - if m != nil && m.CanSet() && v.IsValid() && v.Kind() != reflect.Int { + if m != nil && m.CanSet() && v.IsValid() && v.Kind() == reflect.Struct { for x := 0; x < v.NumField(); x++ { if !v.Field(x).IsZero() { m.SetMapIndex(*k, *v)