#include <iostream>
#include <memory>


void foo(std::unique_ptr<int>&& a) {}

void forward_to_foo(std::tuple<std::unique_ptr<int>&&>&& t);
int main() {
   forward_to_foo(std::forward_as_tuple(std::make_unique<int>(8)));
}

void forward_to_foo(std::tuple<std::unique_ptr<int>&&>&& t)
{
   foo(std::get<0>(std::move(t)));
}