<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Aug 6, 2014 at 12:04 PM, via Digitalmars-d-learn <span dir="ltr"><<a href="mailto:digitalmars-d-learn@puremagic.com" target="_blank">digitalmars-d-learn@puremagic.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="">On Wednesday, 6 August 2014 at 16:48:57 UTC, Timothee Cour via Digitalmars-d-learn wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Thanks, I know with statement could be used but I was hoping for a solution<br>
not involving adding syntax to call site.<br>
</blockquote>
<br></div>
If you control the declaration of the enum, you could write:<br>
<br>
alias a1 = A.a1;<br>
alias a2 = A.a2;<br>
<br>
A bit tedious, but it works, and could be automated if need be.<br>
</blockquote></div><br></div><div class="gmail_extra">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:</div><div class="gmail_extra">
<br></div><div class="gmail_extra"><div style="font-family:arial,sans-serif;font-size:13px">void fun(with(A){A a}, int b){...} //conceptually like this</div><div style="font-family:arial,sans-serif;font-size:13px">void test(){</div>
<div style="font-family:arial,sans-serif;font-size:13px"> int a1=1;</div><div style="font-family:arial,sans-serif;font-size:13px"> fun(A.a1, a1); </div><div style="font-family:arial,sans-serif;font-size:13px"> fun(a1, a1); // first a1 refers to A.a1, second one to local variable int a1</div>
<div style="font-family:arial,sans-serif;font-size:13px">}</div></div><div class="gmail_extra"><br></div><div class="gmail_extra">ok I guess this isn't possible using current semantics.</div><div class="gmail_extra"><br>
</div></div>