As a job, you can use (which works for gcc 4.7.1, gcc 4.8.1 and clang 3.4):
void swap(A& other) noexcept(noexcept(std::declval<decltype(A::vec)&>().swap(std::declval<decltype(A::vec)&>())))
or
void swap(A& other) noexcept(noexcept(vec.swap(vec)))
I think the problem is other.vec ...
Jarod42
source share