BCS wrote:
Hello Andrei,

Robert Fraser wrote:

This. Just issue an error/warning if something in the with shadows
something outside. That way, if the struct/class/template/whatever
changes, affected code will be notified.

No warning, error!


warning if it exist, error if used?



It probably should be an error. Then though, you have the unfortunate thing whereby adding something to say struct X will shadow and generate a compile error, which you can only fix by:

a) Not using with
b) rename identifier in your sturct
c) rename local variable


I seem to remember some language (I think it's VB) supporting with that required a "." prefix in front of with enclosures. Like so:

auto a = 0;
with (foo)
{
        a = 0;
        .a = 1;
}


This is a bit dangerous too though, in terms of typos.




Reply via email to