Note there exists an *very* similar issue - invariant/immutable variables 
initialization:

class Bar : Base
{
   invariant this()
   {
       // how would you initialize _x and _y?
       // they should be initialized before 'this' laves the scope
       // and before super() ("Foo x()" might be called by base class)
   }

   invariant Foo x()
   {
       return _x;
}
   private invariant Foo _x, _y;
}

My proposed rules apply to this situation quite the same.

Reply via email to