template <typename T>
class Matrix { };
template <typename T>
class MyClass
{
public:
Matrix<T> myFunc() { return {}; }
};
template <typename T>
using my_f = Matrix<T> (MyClass<T>::*)();
int main() {
my_f<double> f = &MyClass<double>::myFunc;
return 0;
}
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+CmNsYXNzIE1hdHJpeCB7IH07Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KY2xhc3MgTXlDbGFzcwp7CglwdWJsaWM6CglNYXRyaXg8VD4gbXlGdW5jKCkgeyByZXR1cm4ge307IH0KfTsKCnRlbXBsYXRlIDx0eXBlbmFtZSBUPgp1c2luZyBteV9mID0gTWF0cml4PFQ+IChNeUNsYXNzPFQ+OjoqKSgpOwoKaW50IG1haW4oKSB7CglteV9mPGRvdWJsZT4gZiA9ICZNeUNsYXNzPGRvdWJsZT46Om15RnVuYzsKCXJldHVybiAwOwp9