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

Howard Hinnant howard.hinnant at gmail.com
Tue Nov 12 16:11:13 PST 2013


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.

Howard





More information about the cfe-commits mailing list