Discussion Thread: DIP 1043--Shortened Method Syntax--Community Review Round 1

Paul Backus snarwin at gmail.com
Fri Feb 4 14:46:39 UTC 2022


On Friday, 4 February 2022 at 12:40:32 UTC, max haughton wrote:
> On Friday, 4 February 2022 at 11:21:48 UTC, Elronnd wrote:
>> It would be nice to permit something like this:
>>
>> struct Foo {
>>     this(int x, string y) { ... }
>>     this(string y) => this(0, y);
>> }
>>
>> Currently this fails because constructors are not allowed to 
>> return anything.  But that should not be part of this DIP, 
>> probably.
>
> The implementation as done by Adam is done in the parser but if 
> I move it down the stack a bit this is probably doable.

Please don't. Having `=> expr` be simple syntax sugar for `{ 
return expr; }` is consistent and easy to understand. We don't 
need to add special cases just to save a *single character*:

     this(string y) => this(0, y);
     this(string y) { this(0, y); }


More information about the Digitalmars-d mailing list