Why won't the compiler just figure it out for me?

std::tuple<int, double> t(-42, 3.14); return std::tuple<int, double>(-42, 3.14);

auto t = std::make_tuple(-42, 3.14); return std::make_tuple(-42, 3.14);