For the SFINAE in the hypothetical call operator in this answer I need a type trait that "copies" reference category and const/volatile qualifications from one type to another:
template <typename T, typename U>
using copy_category_and_qualifications_t = [...];
copy_category_and_qualifications_t<int, char> // char
copy_category_and_qualifications_t<const int&, char> // const char&
copy_category_and_qualifications_t<volatile int&&, char> // volatile char&&
I seem to recall some proposed addition to type_traits for this. Does anybody have a reference to this proposal, or know if it was added for C++20 or C++23?