diff options
Diffstat (limited to 'src/pkg/template/template.go')
| -rw-r--r-- | src/pkg/template/template.go | 5 |
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: |
