On Thursday, April 14th, 2022 at 8:54 AM, Paolo Di Giglio via Std-Proposals <std-proposals@lists.isocpp.org> wrote:

Hi Jens,
> I think there is a already a mapping from "const T" to "T" for
> tuple_size and tuple_element, so you don't need those specializations.
The reason why you need the "T const[N]" specializations is because such
mapping exists. I explain that in section 4.1.1. Please have a look and
let me know what you think.

I introduced "T volatile[N]" and "T volatile const[N]" specializations
because similar mappings from "T volatile" and "T volatile const" to "T"
existed up to C++20. I'll remove these specializations from my paper
since the mappings will be removed in C++23.


I see. I slightly prefer the constraining
specification, so that you don't need
to thinking about the fate of volatile
tuple_element.

--
Zhihao