Bradley Baetz wrote:

> 
> The contract has been extended, not violated. If we agree that action A 
> does E, that doesn't preclude action B doing something else.
> 
> The only way this could be noticed is someone compiling an object using
> the new constants against an older version of the interface - this would
> fail. However, it would also fail if we'd chosen to define a new interface
> instead.


In this example that uses enums instead of flags we really are changing 
the interface.  It's a change in the contract, whether or not you call 
it an extension or not.

--Chris


-- 
------------
Christopher Blizzard
http://people.redhat.com/blizzard/
Mozilla.org - we're on a mission from God.  Still.
------------


Reply via email to