Cleanups for <exception>#3973
Conversation
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_lengthdownstream to<xmemory>_With_nestedThere 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 :(