https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112591
--- Comment #6 from Tomasz KamiĆski <tkaminsk at gcc dot gnu.org> --- If you consider: struct A{}; struct B:A{char buf[4];}; And then, following B b; auto p = new(b.buf) A(); Then static_cast<A*>(&b) and p have the same address. And again *p is only nested within b.buf. So I believe the nested within wording for variant is meant to allow implementation based on char buffer.