DIP53 and DIP49 (ver2) - New definitions for qualified constructors and postblits

Timon Gehr timon.gehr at gmx.ch
Fri Dec 20 03:34:34 PST 2013


On 12/20/2013 12:32 PM, Timon Gehr wrote:
> On 12/20/2013 10:13 AM, Andrej Mitrovic wrote:
>> On 12/20/13, bearophile <bearophileHUGS at lycos.com> wrote:
>>> A new keyword is a flag that you have found something different.
>>> It makes it simpler to learn.
>>
>> It also steals a valid symbol name. E.g. there's tons of C code that
>> uses the symbol name "body", but I can't use this symbol because it's
>> used in DBC. It's a keyword that's used in literally just one feature,
>> and it's annoying. Plus DBC code just looks ugly to me (at least with
>> asserts in the actual body I can add diagnostic messages), so I don't
>> see how "body" has made DBC better.
>>
>
> We could get rid of the keyword easily without changing the syntax of
> contracts.

(But then it would be possible to get into funny situations like

struct body{...}

class C{
     abstract void foo()in{...}out{...}
     body b; // syntax error
})


More information about the Digitalmars-d mailing list