How to override impure function from pure function
Nikhil Jacob via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Dec 12 21:13:01 PST 2016
On Tuesday, 13 December 2016 at 05:10:02 UTC, Nicholas Wilson
wrote:
> On Tuesday, 13 December 2016 at 04:48:11 UTC, Nikhil Jacob
> wrote:
>> In the D spec for pure functions it says that a pure function
>> can override
>>
>> "can override an impure function, but an impure function
>> cannot override a pure one"
>>
>> Can anyone help me how to do this ?
>
> what this means is
>
> class Foo
> {
> void foo() { ... }
> }
>
> class Bar : Foo
> {
> override void foo() pure { ... }
> }
>
> is allowed. but
>
> int someglobal;
> class Foo
> {
> void foo() pure { ... }
> }
>
> class Bar : Foo
> {
> override void foo() { someglobal = 42; }
> }
>
> in not.
I mistook the original statement to mean that an impure function
can be called from a pure function with some manual overrides.
Thank you for the clarification.
More information about the Digitalmars-d-learn
mailing list