On Fri, Feb 22, 2019 at 04:43:25PM +0000, Daniel P. Berrangé wrote:
On Fri, Feb 22, 2019 at 04:32:27PM +0100, Erik Skultety wrote:
> Unfortunately, in order to support the new flags, the last patch introduces an
> API breakage as the convention we use for the bindings is to also enforce types
> for flags.
Yes, unfortunately this need to break ABI is fallout resulting from
my decision to make the Go bindings do stricter enum validation that
we have had at the C level.
How would this affect the ABI? Both the old and the new enum have the same int
value 0x01, with the only difference that you could have fed a few more enums
into the API even though we documented that they were unsupported for that
usage.
On balance I think that is still the right tradeoff to have stronger
type checking as it catches real errors in app code.
Due to the widespread use of "vendoring" in the Go community where
apps fixate on specific git commit hashes of their dependandancies,
the fallout is more limited and will mostly only impact devs at the
time they decide to explicitly sync to newer git.
So for all three
Reviewed-by: Daniel P. Berrangé <berrange(a)redhat.com>
Pushed.
Thanks,
Erik