[cfe-dev] RFC: Plan for removing components from namespace std::experimental

Eric Fiselier via cfe-dev cfe-dev at lists.llvm.org
Fri Jan 5 10:15:52 PST 2018


This plan SGTM.

Thanks Marshall.

/Eric

On Wed, Jan 3, 2018 at 5:43 PM, Marshall Clow via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> On Mon, Apr 10, 2017 at 1:22 PM, Marshall Clow <mclow.lists at gmail.com>
> wrote:
>
>> As part of the work on C++17, WG21 released a series of "Technical
>> Specifications", (TS) which added proposed new features to the standard
>> library. These were all defined in the namespace 'std::experimental' (and
>> namespaces inside of that).
>>
>> Then, much of these features were merged into the main standard, and
>> became part of namespace 'std'.  Libc++ now has two implementations of
>> several of these, and they are diverging (because changes were made to the
>> ones in the main standard, but not to the ones in the TS.
>>
>> In the long run, I would like to remove the TS versions of these features
>> from libc++ - since there are "better" versions in the main standard now.
>> However, since people are using these, I don't think yanking them w/o
>> warning is the right thing to do.
>>
>> So, I'm proposing a new policy, and a timetable:
>>
>> One year.
>>
>> One year after we ship a LLVM release that supports a new C++ standard,
>> we will remove all the features that are in the 'experimental' namespace
>> that are implemented in the new standard).
>>
>> Applying this policy to C++17,  we get:
>>
>> LLVM 5.0 will support C++17.
>>
>> So, for LLVM 7.0, we will remove (at least) the following features from
>> libc++
>> * std::experimental::filesystem
>> * std::experimental::optional
>> * std::experimental::any
>> * std::experimental::string_view
>> * the searchers (std::experimental::boyer_moore, etc)
>> * std::experimental::random_shuffle
>>
>> and probably other things...
>>
>>
> Now that we have branched for 6.0, we can do this. ;-)
> I'll be rolling out details this week ....
>
> -- Marshall
>
>
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20180105/0a985c6e/attachment.html>


More information about the cfe-dev mailing list