tpl: Fix reflection bug in merge

Value.Type().Key() must only be called on map values.

Fixes #7899
This commit is contained in:
Cameron Moore
2020-10-28 21:44:38 -05:00
committed by Bjørn Erik Pedersen
parent 56a343507c
commit 6d95dc9d74
2 changed files with 13 additions and 0 deletions

View File

@@ -106,6 +106,10 @@ func mergeMap(dst, src reflect.Value) reflect.Value {
dve := dv.Elem()
if dve.Kind() == reflect.Map {
sve := sv.Elem()
if sve.Kind() != reflect.Map {
continue
}
if dve.Type().Key() == sve.Type().Key() {
out.SetMapIndex(key, mergeMap(dve, sve))
}