mapper: correct text/binary typo

Fixes a panic when attempting to make use of pointers to types that
implement encoding.BinaryUnmarshaler.  e.g.:

    type SomeBinaryFlag struct{}

    func (f *SomeBinaryFlag) UnmarshalBinary(data []byte) error {
	    // ...
	    return nil
    }

    var cli struct {
	    Binary *SomeBinaryFlag
    }
This commit is contained in:
Saj Goonatilleke
2021-03-18 00:30:42 +11:00
committed by Alec Thomas
parent 0c83d0f8dc
commit 57bfb058d5
+1 -1
View File
@@ -84,7 +84,7 @@ func (m *binaryUnmarshalerAdapter) Decode(ctx *DecodeContext, target reflect.Val
if err != nil {
return err
}
if target.Type().Implements(textUnmarshalerType) {
if target.Type().Implements(binaryUnmarshalerType) {
return target.Interface().(encoding.BinaryUnmarshaler).UnmarshalBinary([]byte(value))
}
return target.Addr().Interface().(encoding.BinaryUnmarshaler).UnmarshalBinary([]byte(value))