ref: 3b3e771d613b3d8b9c54bc8b42e4bae7ba0bbb68
parent: 12876ec991982de27773d127e2030b1eeb2826b2
author: Tatsushi Demachi <[email protected]>
date: Thu Jan 28 14:27:35 EST 2016
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.
--- a/tpl/template_funcs.go
+++ b/tpl/template_funcs.go
@@ -588,7 +588,7 @@
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