On Saturday, 11 November 2017 at 12:52:09 UTC, Johan Engelen
wrote:
Hi all,
I'm working on (basic) devirtualization, and am wondering how
immutable the vptr is in D. There is no clear spec on this.
I am currently assuming that an object's vptr is completely
immutable and that use of the object after changes to its vptr
are UB (in contrast to the more complicated situation in C++).
Please help me find an example where this assumption does not
hold.
```
class A {
void foo();
}
IIRC entry 0 of the vtable is for TypeInfo*, so at least casting
and destruction won't work correctly.