Use std::is_nothrow_swappable under MSVC
authorChristopher Dykes <cdykes@fb.com>
Tue, 16 Aug 2016 23:27:28 +0000 (16:27 -0700)
committerFacebook Github Bot 4 <facebook-github-bot-4-bot@fb.com>
Tue, 16 Aug 2016 23:38:30 +0000 (16:38 -0700)
commit30c4c2864581aa35359eb1aba09300698a383848
tree13f7d64ebe4e28d5b26a5c10eaaf57bf0f571d62
parent4da4f3311fa21190626b6a50eefde436028415c8
Use std::is_nothrow_swappable under MSVC

Summary:
The current implementation didn't work for MSVC, as it tries to evaluate `noexcept` expressions in base class lists before the template is instantiated.
`std::is_nothrow_swappable` is coming in C++17, and MSVC already has it, so use it instead.

Reviewed By: yfeldblum

Differential Revision: D3724399

fbshipit-source-id: 7927584618a7870824b2e7242fcae562647f4ef4
folly/Traits.h