From 8fe1070872bd59961b9700ea5e62ad11a1b04b96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Tue, 9 Feb 2016 19:00:07 +0100 Subject: [PATCH] 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 ``` --- tpl/template_funcs.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tpl/template_funcs.go b/tpl/template_funcs.go index f495adf91..3c4a87474 100644 --- 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