diff options
Diffstat (limited to 'src/encoding/gob/encode.go')
| -rw-r--r-- | src/encoding/gob/encode.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/encoding/gob/encode.go b/src/encoding/gob/encode.go index edf204f47d..5371e7245f 100644 --- a/src/encoding/gob/encode.go +++ b/src/encoding/gob/encode.go @@ -398,12 +398,12 @@ func (enc *Encoder) encodeInterface(b *encBuffer, iv reflect.Value) { } ut := userType(iv.Elem().Type()) - registerLock.RLock() - name, ok := concreteTypeToName[ut.base] - registerLock.RUnlock() + namei, ok := concreteTypeToName.Load(ut.base) if !ok { errorf("type not registered for interface: %s", ut.base) } + name := namei.(string) + // Send the name. state.encodeUint(uint64(len(name))) state.b.WriteString(name) |
