clang-cl (4.0.0-trunk)는 vc2015 (update3)는 아니오라고 생각하는 반면에 예스라고 생각하는 것 같습니다.람다 함수는 nothrow_move_assignable입니까?
이 구현이 정의되어 있습니까? 아니면 표준이 람다 함수를 어떻게 구현해야하는지 또는하지 않겠습니까?
#include <type_traits>
#include <iostream>
template <typename T>
void test_nothrow_move_assignable(T&&) {
std::cout << std::boolalpha
<< std::is_nothrow_move_assignable<T>::value
<< "\n";
}
int main() {
test_nothrow_move_assignable([]{});
return 0;
}
// $ clang-cl.exe scratch.cpp
// $ scratch.exe
// true
// $ cl /nologo /EHsc scratch.cpp
// scratch.cpp
// $ scratch.exe
// false
클로저 유형이 이동 할당 가능하다고 생각하지 않았습니다. – aschepler