[PATCH] Move optional into the experimental namespace (first bit of the TSes)

Richard Smith richard at metafoo.co.uk
Tue Nov 12 16:53:09 PST 2013


On Tue, Nov 12, 2013 at 4:11 PM, Howard Hinnant <howard.hinnant at gmail.com>wrote:

> On Nov 12, 2013, at 6:56 PM, Marshall Clow <mclow.lists at gmail.com> wrote:
>
> >> bad_optional_access should be in namespace std::experimental, not in
> namespace std.
> >
> > I went back and forth about that. I agree - it _should_ be there.
> >
> > However:
> >       The destructor for bad_optional_access lives in libc++.dylib. (due
> to a peculiarity in the Itanium ABI).
> >       If I put bad_optional_access in namespace std, then users do not
> need a new dylib when optional moves from std::experimental to std.
>
> I vote std::experimental.  We don't want to commit a symbol to the
> permanent std:: abi until the committee says so.  But if someone is
> depending on a std::experimental symbol, we can more easily yank it.  It is
> unfortunate that if/when bad_optional_access is standardized that it won't
> be supported previous to a certain libc++ version.  But that seems like the
> least of the two evils.


There's a third evil we could consider: keep bad_optional_access in
std::experimental and add a using declaration for it in namespace std. But
I guess we don't need to think about this until optional gets standardized.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131112/23359d31/attachment.html>


More information about the cfe-commits mailing list