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