'with(Foo):' not allowed, why?
    via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Sat Aug  9 02:50:38 PDT 2014
    
    
  
On Saturday, 9 August 2014 at 09:11:53 UTC, Marc Schütz wrote:
> On Saturday, 9 August 2014 at 03:46:05 UTC, timotheecour wrote:
>> On Wednesday, 6 August 2014 at 17:03:23 UTC, Timothee Cour via
>> Digitalmars-d-learn wrote:
>>> Is there a reason why 'with(Foo):' is not allowed, and we 
>>> have to
>>> use with(Foo){...} ?
>>> It would be more in line with how other scope definitions 
>>> work (extern(C)
>>> etc)
>>
>> ping, anyone?
>
> Probably for syntactic reasons: `with` is a statement, while 
> `extern(C)`, `@safe`, `private` etc. are attributes.
>
> But the idea is certainly nice, it would only require a simple 
> rewriting rule.
It's surprisingly easy to implement:
https://github.com/schuetzm/dmd/commit/b11368be183fd9b299508722cf8e9c32df2f1ac5
If you think it's useful, you can suggest it on digitalmars.D. If 
it is well-received, I can add some tests and update the 
documentation.
    
    
More information about the Digitalmars-d-learn
mailing list