When looking up the exact wording of aliasing rules in C++, I am surprised to find that much content seems to be gone in the C++20 (draft, N4860) under 7.2.1 p11. Specifically, there is no mention of the validity of aliasing with "a type that is a (possibly cv-qualified) base class type of the dynamic type of the object", which existed in earlier C++ standards.

Also the online link: https://eel.is/c++draft/basic.lval#11

I do not think the standard has changed the rule, so I must have missed something. Can anyone point to me how to read the rules, maybe pointing me to a discussion of the wording change?

Best regards,

Yongwei Wu
URL: http://wyw.dcweb.cn/