#include <memory>
#include <typeinfo>
#include <iostream>

auto foo()
{
	auto type = [] (void*) {};
	return std::unique_ptr<void, decltype (type)> { nullptr, type };
}

int main()
{
	std::cout << typeid (foo ()).name () << std::endl;
}