
On Thu, Sep 11, 2008 at 2:20 PM, Robert Ramey <ramey@rrsd.com> wrote:
David Abrahams wrote:
No - I asked for a pledge that if this happened in the future it would be considered a bug.
Whom did you you ask for a pledge?
Emil
Here is where I asked for it
Ah. OK, the changes in boost::throw_exception are in full compliance with your unsolicited pledge. Its semantics have not been changed, only extended, and yes (I thought that was obvious) if any library that uses boost::throw_exception breaks due to the changed semantics, I *do* treat that as a bug (in boost::throw_exception.) Though I have no plans to make any changes in the rest of the Exception library, I can't make the same pledge for anything except for boost::throw_exception, for now. The difference is that boost::throw_exception is a simple, mature and proven interface; the rest of Boost Exception is relatively new, I have only used that code for about a year prior to the review proposal, and it was first released in 1.36.
I would ask that library authors that cannot make a similar pledge include a disclaimer in thier documentation and header files something on the order of: ... You can ask anything you want and you can assume anything you want about Boost libraries, but the fact is that they do change and occasionally breaking changes are introduced, which may or may not be regressions.
I wasn't expressing an opinion, I was stating a fact. Boost libraries do change, and occasionally the changes do break existing code, and occasionally such breaking changes are made on purpose. I apologize for the perhaps inappropriate tone of that remark. Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode