-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cleanups for <exception>
#3973
Cleanups for <exception>
#3973
Conversation
Lines 322 to 323 in 8674b3d
By searching in github I realize this is a builtin. Other projects typically make comments for it (search). I think for clarity we should add a comment as well. (Also, is it ok to add noexcept ? It is called by noexcept make_exception_ptr .)
|
This reverts commit 12bfbb7.
This comment was marked as resolved.
This comment was marked as resolved.
This reverts commit b4aecea.
Line 4249 in 8674b3d
Is _Throw_bad_variant_access in join_with_view::_Iterator 's methods meaningful? It seems this will only happen when the iterator becomes broken due to exception from _Inner_it._Emplace_first / second in previous calls. Even though _Inner_it is a _Variantish , I think bad_variant_access will be very surprising for users of join_with_view .
-- update -- -- update -- [[noreturn]] static void _Xbroken_iterator() {
_Xinvalid_argument("the iterator has been broken due to an exception");
} If this makes sense, we can move (I think we can also add |
Roughly like this: a9190c7; is this a valid approach? |
I don't really care how a |
Hmm, I wasn't aware the methods should behave as if operating on a real variant. ... So there is nothing changeable about |
<variant>
and <exception>
<exception>
@CaseyCarter I made a new push to replace |
I suppose it's a question of whether we consider |
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
🧹
|
_Current_exception
_Throw_bad_array_new_length
downstream to<xmemory>
_With_nested
There were some attempts to do cleanups for
<variant>
as well; all of them turned out to be invalid however. Thanks to @frederick-vs-ja and @cpplearner for pointing out the problems :(