On Wed, Aug 6, 2014 at 12:04 PM, via Digitalmars-d-learn < digitalmars-d-learn@puremagic.com> wrote:
> On Wednesday, 6 August 2014 at 16:48:57 UTC, Timothee Cour via > Digitalmars-d-learn wrote: > >> Thanks, I know with statement could be used but I was hoping for a >> solution >> not involving adding syntax to call site. >> > > If you control the declaration of the enum, you could write: > > alias a1 = A.a1; > alias a2 = A.a2; > > A bit tedious, but it works, and could be automated if need be. > yes, but that pollutes the scope, what I wanted was to only expose the aliases in places where A is expected, see motivational in previous message: void fun(with(A){A a}, int b){...} //conceptually like this void test(){ int a1=1; fun(A.a1, a1); fun(a1, a1); // first a1 refers to A.a1, second one to local variable int a1 } ok I guess this isn't possible using current semantics.