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.


Reply via email to