C++ Logo


Advanced search

Subject: Re: [SG10] Updates to SD-6: N4190
From: Nelson, Clark (clark.nelson_at_[hidden])
Date: 2015-01-08 11:33:34

> > N4190 (removing old stuff)
> > __cpp_lib_remove_auto_ptr 201411
> > __cpp_lib_remove_random_shuffle 201411
> > __cpp_lib_remove_deprecated_functionals 201411
> > __cpp_lib_remove_deprecated_bind 201411
> > These would get date bumps if/when std::not_fun etc. or
> std::bind is removed.
> > I am slightly annoyed that the fist two don't have _deprecated_
> but they look nice to me as they are.
> Personally, I prefer the first two, and am more annoyed that we
> seem to need
> to use "deprecated" in the latter two; to me that feels like a
> cop-out,
> whereas it should be redundant with "remove".
> In any event, we definitely need feedback from STL (and probably
> others) about
> the granularity of the functional stuff.

I went ahead and contacted STL about this. I did *not* lead the witness,
most especially with respect to who was annoyed or about what. :-/

Here is his reply:

One macro per section sounds right. But I'd recommend following the section
names exactly. There's no need to say "deprecated" - they were all
deprecated, and removal is strictly stronger. So:


On the other hand, I was thinking about this, and about the purpose of
feature-test macros, as highlighted by Richard.

Presumably these features were deprecated, and are now being removed,
because of the existence of better facilities to do the same sorts of thing.
If the other facilities are really better, then presumably the thing to do
would be simply to rewrite the code to use them, rather than having two
versions of the code, and continuing to maintain code that tries to use the
obsolescent feature(s).

So I'm suggesting that macros for these removed features might not be
justified -- as we similarly decided that no macro is needed to indicate the
removal of trigraphs.


SG10 list run by herb.sutter at gmail.com