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".
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.