[dmd-internals] ClassInfo for C++ classes in DMD
Jacob Carlborg via dmd-internals
dmd-internals at puremagic.com
Thu Jul 7 05:43:14 PDT 2016
> On 07 Jul 2016, at 12:23, Walter Bright via dmd-internals <dmd-internals at puremagic.com> wrote:
>
> C++ classes have no dynamic type info (i.e. what the most derived class is). But they do have static type info.
What I mean is this:
// first example, unrelated to the DMD codebase
extern(C++) class Foo {}
void main ()
{
auto a = new Foo;
assert(a.classinfo is null);
}
// second example, somewhere inside the DMD codebase
auto a = new IntegerExp(0);
assert(a.classinfo !is null);
Both of the above assertions pass. My question is why the second assertion pass.
—
/Jacob Carlborg
More information about the dmd-internals
mailing list