I have a codebase that I have not touched in quite a while like 5 months ago after finding a better alternative, but now I wanna experiment with it agian, the problem is nothing changed and it used to compile just fine, I'm in a bit of a situation now, the error I am getting is:
syntax error: unexpected token '*' following 'expression'
for this piece of code:
template<class T>
constexpr [[nodiscard]] T Square(T value) requires std::is_arithmetic_v<T>
{
return T * T;
}
it worked before but now I am getting errors around it, I have not changed anything, using Preview - Features from the Latest C++ Working Draft (/std:c++latest) as well
my settings:

Has anything changed in the C++ standard or in how compilers handle this kind of code recently? Any idea how to make it work with the latest version?
Appreciate any help and insights