The following code compiles fine on both gcc and clang (trunk with -std=c++20) but errors on msvc (19.27 /std:c++latest).
template<typename T>
concept subable = requires(T lhs, T rhs) { lhs - rhs; };
auto sub(subable auto x, subable auto y) {
return x - y;
}
int main() {
const auto z = sub(4, 5);
}
afaik the above code should be valid in C++20, it was in the concepts-ts. Is this a case of microsoft being behind other implementations? (C++20 isn't even out yet after all) or did this not make it into 20?