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

陳韋任 via llvm-dev llvm-dev at lists.llvm.org
Tue Apr 11 03:35:52 PDT 2017

Will clang give warning or hint so that users know what's going on and what
they can do?


2017-04-11 4:22 GMT+08:00 Marshall Clow via llvm-dev <
llvm-dev at lists.llvm.org>:

> 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...
> Comments?
> -- Marshall
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


Wei-Ren Chen (陳韋任)
Homepage: https://people.cs.nctu.edu.tw/~chenwj
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170411/11a36308/attachment.html>

More information about the llvm-dev mailing list