From: Greg Colvin (gcolvin_at_[hidden])
Date: 1999-12-21 12:27:18
From: Herb Sutter <hsutter_at_[hidden]>
> Greg wrote:
> >I don't see why we should ever remove a component. If we really need
> >to the tradition is to deprecate it, and then remove it much later,
> >if ever.
> What if a component is demonstrably broken and cannot be implemented
> consistently with the standard as a whole, and the only major alternatives are
> to change library requirements (impossible, breaking lots of user code) or
> removing the component? We already have an existence proof for this case.
I disagree that vector<bool> is that broken, and I believe that we can
fix it without breaking user code, but that discussion will wait.
Even if we decided that vector<bool> is misbegotten the most we could
do is deprecate it in, say, 2003 and remove it no sooner than 2008. Even
so, some vendors will continue to support it (via some switch or pragma)
for years after that. So users will have plenty of time to fix their code.
> >> A. Just change it; e.g., in C++200x, say std::stack simply no longer
> >> existed. This makes #1(a)(b)(c) trivial, but doesn't meet #2(a)
> >> because a conforming C++200x implementation would be allowed to reject
> >> existing well-formed-under-C++98 programs that use std::stack.
> I don't get it. Could you elaborate? Or are you just saying "nope, just don't
> remove anything, and the problem won't arise"?
That's what I'm saying.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk