Tim M wrote:

Why is this an error. Dmd wants to make sure that I declare a new variable in the foreach statement and not use an existing one?

module test;

void main()
{
    int i;
    int[] nums;
    foreach(i; nums)
    {
        //
    }
}


dmd test.d

test.d(7): Error: shadowing declaration test.main.i is deprecated

Yes; as the error states, you're not allowed to define variables with the same name as variables in an enclosing scope any more.

  -- Daniel

Reply via email to