diff options
Diffstat (limited to 'src/reflect/value.go')
-rw-r--r-- | src/reflect/value.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/reflect/value.go b/src/reflect/value.go index 387b9f3c13..125f04eaee 100644 --- a/src/reflect/value.go +++ b/src/reflect/value.go @@ -769,7 +769,7 @@ func (v Value) Field(i int) Value { fl := v.flag&(flagStickyRO|flagIndir|flagAddr) | flag(typ.Kind()) // Using an unexported field forces flagRO. if !field.name.isExported() { - if field.name.name() == "" { + if field.anon() { fl |= flagEmbedRO } else { fl |= flagStickyRO @@ -780,7 +780,7 @@ func (v Value) Field(i int) Value { // In the former case, we want v.ptr + offset. // In the latter case, we must have field.offset = 0, // so v.ptr + field.offset is still okay. - ptr := unsafe.Pointer(uintptr(v.ptr) + field.offset) + ptr := unsafe.Pointer(uintptr(v.ptr) + field.offset()) return Value{typ, ptr, fl} } |