On Mon, 22 May 2023 at 11:53, Oleksandr Koval via Std-Proposals <std-proposals@lists.isocpp.org> wrote:
That pair holds the "first" data member with type const T1. That's very much a const object.
Hm, I thought that because it's inside a struct, it's actually a "subobject", not an "object".

Yes, that's how I understand it too.
 
I always understood const_cast rule in a way that you can change const-ness as long as the underlying memory is not a read-only and I don't understand how it's possible to have a struct which has some members of it in a read-only memory and others in a read-write one.

https://cplusplus.github.io/CWG/issues/2514.html is related to this point.