-
Notifications
You must be signed in to change notification settings - Fork 125
Closed
Description
some of my test cases fail as the func WriteSetObject() fails.
after some dig, I found the problem:
Line 89 in 9a02a4e
func (enc *Encoder) WriteSetObject(key string, values [][]byte, options ...interface{}) error { |
func (enc *Encoder) WriteSetObject(key string, values [][]byte, options ...interface{}) error {
err := enc.beforeWriteObject(options...)
if err != nil {
return err
}
ok, err := enc.tryWriteIntSetEncoding(key, values)
if err != nil {
return err
}
if ok {
return nil
}
err = enc.writeSetEncoding(key, values)
if err != nil {
return err
}
enc.state = writtenObjectState
return nil
}
the logic is a bit different from WriteHashMapObject(). It should be
func (enc *Encoder) WriteSetObject(key string, values [][]byte, options ...interface{}) error {
err := enc.beforeWriteObject(options...)
if err != nil {
return err
}
ok, err := enc.tryWriteIntSetEncoding(key, values)
if err != nil {
return err
}
if !ok {
err = enc.writeSetEncoding(key, values)
if err != nil {
return err
}
}
enc.state = writtenObjectState
return nil
}
fixed in #39
Metadata
Metadata
Assignees
Labels
No labels