On Sun, 11 Jan 2009 15:50:54 +1300, Daniel Keep <daniel.keep.li...@gmail.com> wrote:



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

Why does it still work for some objects?

Reply via email to