A workaround could be to create a function receiving any tuple and returning a tuple where the reference is dropped for each element and copies are made.

 

auto [min, max] = tuple_values(std::minmax(a, b - a));

 

 

Perhaps there could be a syntax sugar similar to auto, auto&, auto&&, decltype(auto)