commit 8fe1070872bd59961b9700ea5e62ad11a1b04b96
parent 2b3b90a6dfc30677c6cd20e5a34a7c8243ba9145
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date: Tue, 9 Feb 2016 19:00:07 +0100
Prevent confusing template errors when seq is nil
The common is the `where` func and this:
```
panic: reflect: call of reflect.Value.Type on zero Value [recovered]
panic: reflect: call of reflect.Value.Type on zero Value
```
Diffstat:
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tpl/template_funcs.go b/tpl/template_funcs.go
@@ -814,7 +814,7 @@ func where(seq, key interface{}, args ...interface{}) (r interface{}, err error)
}
return rv.Interface(), nil
default:
- return nil, errors.New("can't iterate over " + reflect.ValueOf(seq).Type().String())
+ return nil, fmt.Errorf("can't iterate over %v", seq)
}
}
@@ -858,7 +858,7 @@ func apply(seq interface{}, fname string, args ...interface{}) (interface{}, err
return r, nil
default:
- return nil, errors.New("can't apply over " + reflect.ValueOf(seq).Type().String())
+ return nil, fmt.Errorf("can't apply over %v", seq)
}
}
@@ -950,7 +950,7 @@ func delimit(seq, delimiter interface{}, last ...interface{}) (template.HTML, er
}
default:
- return "", errors.New("can't iterate over " + reflect.ValueOf(seq).Type().String())
+ return "", fmt.Errorf("can't iterate over %v", seq)
}
return template.HTML(str), nil