On Wed, Jul 15, 2020 at 4:14 PM Paweł Benetkiewicz via Std-Proposals <firstname.lastname@example.org> wrote:Never take MSVC as your gold standard for anything involving templates. They historically didn't even parse templates until instantiation time. Since C++11, they've been forced to get a little better, but the implementation is still basically "don't parse the thing until you see a reason to do so." In this case, they're not parsing the `requires`-clause until instantiation time.MSVC still doesn't let you instantiate f<C>(), though. The syntax error is correctly detected at instantiation time.