We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent f60578b commit 8fbdd2aCopy full SHA for 8fbdd2a
1 file changed
binary.go
@@ -108,6 +108,20 @@ func (b *Encoder) Encode(v interface{}) (err error) {
108
}
109
for _, key := range rv.MapKeys() {
110
value := rv.MapIndex(key)
111
+ if key.CanAddr() {
112
+ key = key.Addr()
113
+ } else {
114
+ k := reflect.New(key.Type()).Elem()
115
+ k.Set(key)
116
+ key = k.Addr()
117
+ }
118
+ if value.CanAddr() {
119
+ value = value.Addr()
120
121
+ v := reflect.New(value.Type()).Elem()
122
+ v.Set(value)
123
+ value = v.Addr()
124
125
if err = b.Encode(key.Interface()); err != nil {
126
return err
127
0 commit comments