#include <iostream>
#include <tuple>
#include <typeinfo>

struct Test
{
	virtual ~Test() = 0;
};
inline Test::~Test() = default;

template<typename T>
void f()
{
	std::cout << typeid(T).name() << std::endl;
}

int main()
{
	f<std::tuple<Test>>();
}
