Should it not be simply forbidden to redefine a variable like that in a sub-class ?
When you assign instead of declare, the problem disappears.
So perhaps, instead of 'fixing' the bug, we should forbid this kind of use of scope (chuck should throw an error if you try) ? 

Casper

class A 
{
    10000 => int foo;
}

class B extends A 
{
    fun void bar()
    {
        // 0 => int foo;
        0 => foo;

        

        <<< "a", foo >>>;
        {
            <<< "b", foo >>>;
        }
        <<< "c", foo >>>;
    }
}

B b;
b.bar();

Casper Schipper
casper.schipper@gmail.com
www.casperschipper.nl
+316 52322590