src/reflect: fix type.Size() to account for struct padding

Fixes #2141
Этот коммит содержится в:
Damian Gryski 2021-09-26 12:54:05 -07:00 коммит произвёл Ron Evans
родитель 49dd2ce393
коммит d9ad500cf7

Просмотреть файл

@ -554,7 +554,7 @@ func (t rawType) Size() uintptr {
return 0 return 0
} }
lastField := t.rawField(numField - 1) lastField := t.rawField(numField - 1)
return lastField.Offset + lastField.Type.Size() return align(lastField.Offset+lastField.Type.Size(), uintptr(t.Align()))
default: default:
panic("unimplemented: size of type") panic("unimplemented: size of type")
} }