[Issue 14865] Elide calling invariant for classes with no invariant defined
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Tue Aug 4 00:55:50 PDT 2015
https://issues.dlang.org/show_bug.cgi?id=14865
--- Comment #2 from Dmitry Olshansky <dmitry.olsh at gmail.com> ---
(In reply to Kenji Hara from comment #1)
> For virtual class methods, their invariant call should be virtual. For
> example:
>
> class C
> {
> void foo() {}
> }
>
> class D : C
> {
> invariant {}
> }
>
> void main()
> {
> C c = new D;
> c.foo(); // should check D.invariant
> }
Could it do a test on invariant v-table slot to see if it's a default
invariant?
Then if it's the default - just test for null inline, if not - call that slot.
--
More information about the Digitalmars-d-bugs
mailing list