Denis Koroskin:
>There needs to be a way to tell that addMsg doesn't access global variables.<
>Another solution is... remove global variables entirely! No globals - no  
>problems :)<

"global variables" are names in the outer scope for nested functions, so that 
doesn't solve the problem, and generally kills C compatibility of D.

Time ago I have suggested a keyword like uses or outer, to explicitly list what 
names a function uses from the outer scope:

int z;
int bar(int k) uses out z {
    int y = k * 2;
    int foo(int x) uses in y, out z {
        z = y * 2;
        return x * y;
    }
    return k + foo(k * 3);
}

But this example is a mess already, better to not encourage the usage of such 
coding style.

Bye,
bearophile

Reply via email to