声明函数模板的 5 种新语法是什么?

What are 5 new syntaxes for declaring a function template?

This 视频说明了当前 TS 版本概念的一些问题,其中之一是:

5 new syntaxes for declaring a function template

没有给出例子。 所以我的问题是它们是什么?

鉴于琐碎的概念定义:

template <class T> concept bool C = true;

我们可以将相同的函数模板 f 声明为:

template <class T> requires C<T> void f(T);
template <class T> void f(T) requires C<T>;
template <C T> void f(T); // colloquially known as "terse" syntax
C{T} void f(T); // template introduction syntax
void f(C); // abbreviated function template syntax