[libcxx-commits] [PATCH] D81954: Remove the try/catch codepath if `swap` is `noexcept`.
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jun 16 11:32:54 PDT 2020
ldionne added a comment.
This LGTM. It would be great to add a test though. Would it make sense to have a test under `libcxx/test/libcxx` that checks the codegen like we do in several places in Clang?
================
Comment at: libcxx/include/variant:1046
inline _LIBCPP_INLINE_VISIBILITY
void __swap(__impl& __that) {
if (this->valueless_by_exception() && __that.valueless_by_exception()) {
----------------
zoecarver wrote:
> I think it would be good to also mark this `noexcept(__all<(is_nothrow_move_constructible_v<_Types> && is_nothrow_swappable_v<_Types>)...>::value)`.
Yeah, I was going to suggest the same thing. If it makes sense. If not, why?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D81954/new/
https://reviews.llvm.org/D81954
More information about the libcxx-commits
mailing list