Possible enhancement: Concise return statements

Walter Bright newshound2 at digitalmars.com
Mon Aug 15 13:31:07 PDT 2011


On 8/15/2011 1:13 PM, Steven Schveighoffer wrote:
> On Mon, 15 Aug 2011 16:05:31 -0400, Walter Bright <newshound2 at digitalmars.com>
> wrote:
>
>> On 8/15/2011 12:17 PM, Steven Schveighoffer wrote:
>>> What is going to happen if someone adds an extra ';' ? Compiler error ("no
>>> return statement")
>>
>> Such lambdas are often used with 'auto' returns, so you'd get no compiler
>> error, but a subtle in the way your program works.
>
> So you're saying it becomes a void function? This still is not bad:
>
> 1. Caller is expecting it not to be void, compiler error
> 2. Caller is not using the return value, who cares?

With struct destructors, (2) is a problem. Overloading can also be a problem.


More information about the Digitalmars-d mailing list