[Issue 16980] [REG2.072.0] wrong interface called
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Thu Dec 29 05:14:27 PST 2016
https://issues.dlang.org/show_bug.cgi?id=16980
Martin Nowak <code at dawg.eu> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[REG2.072.0] vtable issue |[REG2.072.0] wrong
|in slightly complex |interface called
|scenario |
--- Comment #4 from Martin Nowak <code at dawg.eu> ---
So what happens is that the size finalization of aggregates (classes and
structs) was moved to semantic2 in order to resolve various forward reference
issues.
The module level
T!() tinst;
declaration already triggers a FunctionDeclaration::semantic3 for the dtor
during Module::semantic(). IIRC this is done for any template instances.
What's missing is a call to ad.size/determineSize somewhere before determining
the offset when the CastExp is optimized.
--
More information about the Digitalmars-d-bugs
mailing list