https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121068
--- Comment #9 from Tomasz KamiĆski <tkaminsk at gcc dot gnu.org> --- I remember that LWG3436 was discussed in core in Varna (https://wiki.edg.com/bin/view/Wg21varna/CoreWorkingGroup#LWG3436) and the current wording is result from there. I was always suspicious about creating Tp[1] there, as in case when we are creating a member (or any other object that is not transparently replaceable), we will simply reuse storage and destroy the original object. I do not think there is UB caused by lack of multidimensional array at that location, but the new call is for sure not constant for the same reason. I agree that your proposed change seem to be much better direction, but as far as I can see it does not match direction of https://cplusplus.github.io/LWG/issue3436. Am I looking at wrong place?