|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2008-07-15 22:11:53
on Tue Jul 15 2008, "Emil Dotchevski" <emil-AT-revergestudios.com> wrote:
> On Tue, Jul 15, 2008 at 5:52 PM, Robert Ramey <ramey_at_[hidden]> wrote:
>> Here is where we differ. Now when someone checks in a breaking
>> change. errors pop up all over the place in test results that the
>> author who caused the problem doesn't have any reason to check.
>> He who has had his library broken has to investigate the cause
>> of the sudden breakage and trace down to its source and then
>> complain. This is a huge pain in the neck and costs a lot of
>> time and frustration.
>
> You're making a big assumption here, which is that the breaking change is a bug.
>
> Here is an example: adding the Exception library "broke" several other
> libraries that were throwing ints or enums through
> boost::throw_exception. The fact is that boost::throw_exception has
> always required that its argument is of type that derives from
> std::exception, but it did nothing to enforce this requirement. Now it
> does enforce it which exposed the bugs in the other libraries. This is
> a good thing.
That was one of the kinds of cases I had in mind when wondering if it
was a good idea to rely on dependent libraries' tests to discover
problems in a library.
-- Dave Abrahams BoostPro Computing http://www.boostpro.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk