summaryrefslogtreecommitdiff
path: root/src/pkg/template/template.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/template/template.go')
-rw-r--r--src/pkg/template/template.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/pkg/template/template.go b/src/pkg/template/template.go
index 40b9f640b..1fa55dc8d 100644
--- a/src/pkg/template/template.go
+++ b/src/pkg/template/template.go
@@ -623,6 +623,9 @@ func (st *state) findVar(s string) reflect.Value {
if data == nil {
return nil
}
+ if intf, ok := data.(*reflect.InterfaceValue); ok {
+ data = intf.Elem()
+ }
switch typ := data.Type().(type) {
case *reflect.StructType:
@@ -706,6 +709,8 @@ func empty(v reflect.Value) bool {
return v.Get() == ""
case *reflect.StructValue:
return false
+ case *reflect.MapValue:
+ return false
case *reflect.ArrayValue:
return v.Len() == 0
case *reflect.SliceValue: