112a9d9c8Sopenharmony_ci// bindgen-flags: --with-derive-hash --with-derive-partialeq --with-derive-eq 212a9d9c8Sopenharmony_citemplate <typename T> 312a9d9c8Sopenharmony_ciclass Foo 412a9d9c8Sopenharmony_ci{ 512a9d9c8Sopenharmony_ci typedef T (FunctionPtr)(); 612a9d9c8Sopenharmony_ci}; 712a9d9c8Sopenharmony_ci 812a9d9c8Sopenharmony_citemplate<typename T> 912a9d9c8Sopenharmony_ciclass RefPtr { 1012a9d9c8Sopenharmony_ci template<typename R, typename... Args> 1112a9d9c8Sopenharmony_ci class Proxy { 1212a9d9c8Sopenharmony_ci typedef R (T::*member_function)(Args...); 1312a9d9c8Sopenharmony_ci }; 1412a9d9c8Sopenharmony_ci}; 1512a9d9c8Sopenharmony_ci 1612a9d9c8Sopenharmony_citemplate<typename T> 1712a9d9c8Sopenharmony_ciusing Returner = T(*)(); 18