in merge.go [300:318]
func normalizeMapInto(cfg *Config, opts *options, from reflect.Value) Error {
k := from.Type().Key().Kind()
if k != reflect.String && k != reflect.Interface {
return raiseKeyInvalidTypeMerge(cfg, from.Type())
}
for _, k := range from.MapKeys() {
k = chaseValueInterfaces(k)
if k.Kind() != reflect.String {
return raiseKeyInvalidTypeMerge(cfg, from.Type())
}
err := normalizeSetField(cfg, opts, noTagOpts, k.String(), from.MapIndex(k))
if err != nil {
return err
}
}
return nil
}