Also, during review of P0941R2 in Rapperswil, LWG added <tuple> to the __cpp_lib_tuples_by_type row, in addition to <utility>.

New get<T> overloads were added to both headers by so when checking if you can use the overloads for std::tuple you shouldn't need to #include <utility>.

P0941R2 will be on the Straw Polls page tomorrow in Rapperswil - thanks to Clark for the initial version of the paper that made this happen (and of course for all the work on SD-6!)

On 8 June 2018 at 10:39, Jonathan Wakely <> wrote:
The Albuquerque draft of SD-6 gives the header for __cpp_lib_tuple_element_t as <utility> but it's defined in <tuple> (in all of the proposal that defined it, C++14, C++17, and the latest WP).