#include <vector>
template <typename T, typename U>
class Foo { public:
Foo() {
}
template<typename R>
R method(T, U) {
return R();
}
};
int main() {
using t1 = std::vector<int>;
t1 my_var;
my_var.push_back(42);
using t2 = Foo<int, char*>;
using t3 = size_t;
t2 my_var2;
my_var2.method<t3>(0, nullptr);
return 0;
}