This code fails to compile: (tested clang 3.5 & g++ 4.9.1)
#include <range/v3/utility/concepts.hpp>
int main(int argc, char** argv) {
static_assert(ranges::v3::Swappable<int&>(), "");
return 0;
}
In the implementation, concepts::valid_expr
is used, but swap
returns void, which cannot be an arg.
Why is concepts::valid_expr
needed at the first place?