diff --git a/src/reflect/value.go b/src/reflect/value.go index ccdd427c..f0b4c390 100644 --- a/src/reflect/value.go +++ b/src/reflect/value.go @@ -639,6 +639,9 @@ func (v Value) Field(i int) Value { // The fact that PkgPath is present means that this field is not // exported. flags &^= valueFlagExported + } else { + // Parent field may not have been exported but we are + flags |= valueFlagExported } size := v.typecode.Size()