A little D2 program:

void main() {
           pure nothrow int foo1(immutable int x) { return x; }
    static pure nothrow int foo2(immutable int x) { return x; }
}


This is the asm of the two inner functions:

_D6test4mainFZv4foo1MFNaNbyiZi    comdat
        enter   4,0
        mov EAX,8[EBP]
        leave
        ret 4

_D6test4mainFZv4foo2FNaNbyiZi comdat
        enter   4,0
        leave
        ret

Is this a compiler mistake? Aren't strongly pure inner function static too?

Bye,
bearophile

Reply via email to