2015-12-14 21:48 GMT+01:00 Daniel Krügler <daniel.krueg...@gmail.com>:
> This is a reimplementation of __is_swappable and
> __is_nothrow_swappable according to
>
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4511.html
>
> and also adds a missing usage of __is_nothrow_swappable in the swap
> overload for arrays. Strictly speaking the latter change differs from
> the Standard specification which requires the expression
> noexcept(swap(*a, *b)) to be used. On the other hand the Standard is
> broken in this regard, as pointed out by
>
> http://cplusplus.github.io/LWG/lwg-active.html#2554

Jonathan explained to me that changelog entries should not be send as
diff, but just as plain text with the recommended addition, therefore
resending with that change applied.

Thanks,

- Daniel
2015-12-14  Daniel Kruegler  <daniel.krueg...@gmail.com>

    PR libstdc++/68877
    * include/std/type_traits: Following N4511, reimplement __is_swappable and
    __is_nothrow_swappable. Move __is_swappable to namespace std, adjust
    callers. Use __is_nothrow_swappable in swap.
    * include/bits/move.h: Use __is_nothrow_swappable in swap.
    * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove 
    __is_swappable related tests.
    * testsuite/20_util/is_swappable/value.cc: New.
    * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc: 
    New.
    * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
    * testsuite/25_algorithms/swap/68877.cc: New.

Attachment: 68877.patch
Description: Binary data

Reply via email to