proposal: allow 'with(Foo):' in addition to 'with(Foo){..}'

Era Scarecrow via Digitalmars-d digitalmars-d at puremagic.com
Sun Aug 10 11:34:01 PDT 2014


On Sunday, 10 August 2014 at 17:29:24 UTC, Walter Bright wrote:
>  1. labels
>  2. case statements
>  3. default statements
>  4. ?: expressions
>
> and overloading this with more meanings is, in my 
> not-so-humble-opinion, not a good idea given the very marginal 
> benefit it might have.

  5. Access permissions (public/private/protected).
  6. File length attributes (@safe: @system: @trusted:)

  But in all cases (except 4), the final symbol is the colon, and 
it's effect lasts for that scope unless overridden. I don't see 
how it would be making things all that much more complex. Unlike 
with templates in C++ where the <>'s were overloaded for a new 
(and completely unrelated) confusing purpose, the :'s use 
wouldn't really change, and it would remain the last symbol for 
it's declaration.

  Although I'm not sure how much it adds for complexity to the 
compiler (if any).


More information about the Digitalmars-d mailing list