From 3b3e771d613b3d8b9c54bc8b42e4bae7ba0bbb68 Mon Sep 17 00:00:00 2001 From: Tatsushi Demachi Date: Thu, 28 Jan 2016 19:27:35 +0900 Subject: [PATCH] Check for exported fields in embedded structs This fixes a exported field check condition in a way described at Go issue https://golang.org/issue/12367 According to the issue comments, this fix should be safe under Go 1.6. --- tpl/template_funcs.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tpl/template_funcs.go b/tpl/template_funcs.go index 498a38c5e..46b82a5aa 100644 --- a/tpl/template_funcs.go +++ b/tpl/template_funcs.go @@ -588,7 +588,7 @@ func evaluateSubElem(obj reflect.Value, elemName string) (reflect.Value, error) case reflect.Struct: ft, ok := obj.Type().FieldByName(elemName) if ok { - if ft.PkgPath != "" { + if ft.PkgPath != "" && !ft.Anonymous { return zero, fmt.Errorf("%s is an unexported field of struct type %s", elemName, typ) } return obj.FieldByIndex(ft.Index), nil