Possible enhancement: Concise return statements

Jacob Carlborg doob at me.com
Mon Aug 15 12:19:38 PDT 2011


On 2011-08-15 21:00, Walter Bright wrote:
> On 8/15/2011 3:54 AM, Timon Gehr wrote:
>> 'When the last ExpressionStatement in a function body is missing the
>> ';', it is
>> implicitly returned.'
>
> This has been proposed several times before, it was also proposed for
> C++0x. The difficulty is it makes having a ; or not substantially alter
> the semantics. The history of these languages is that the presence or
> absence of ; can be hard to spot, as in:
>
> for (int i = 0; i < 10; i++);
> ... do this ...
>
> which has cost at least one expert developer I know an entire afternoon
> staring at it convinced there was a compiler bug because his loop
> executed only once.
>
> (And this is why D disallows this syntax.)

Can't we always automatically return the last expression, even if it 
ends with a semicolon?

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list