DIP 1009--Improve Contract Usability--Preliminary Review Round 2 Begins

aberba via Digitalmars-d digitalmars-d at puremagic.com
Fri Jul 21 20:05:55 PDT 2017


On Friday, 21 July 2017 at 13:51:05 UTC, Mike Parker wrote:
> DIP 1009 is titled "Improve Contract Usability".
>
> https://github.com/dlang/DIPs/blob/master/DIPs/DIP1009.md
>
> Based on feedback from the first round, this DIP has been 
> revised to the extent that a second preliminary review round is 
> warranted.
>
> All review-related feedback on and discussion of the DIP should 
> occur in this thread. The review period will end at 11:59 PM ET 
> on August 4 (3:59 AM GMT August 5), or when I make a post 
> declaring it complete.
>
> At the end of Round 2, if further review is deemed necessary, 
> the DIP will be scheduled for another round. Otherwise, it will 
> be queued for the formal review and evaluation by the language 
> authors.
>
> Thanks in advance to all who participate.
>
> Destroy!

How about this in current syntax? (that's what I do)

int func(int a)
     in
     {
         assert(a >= 0);
     }
     out(result)
     {
         assert(result >= 2);
     }
body
{
     return 2 * a;
}


an improvement could be:

int func(int a)
     in assert(a >= 0);
     out(result) assert(result >= 2);
body
{
     return 2 * a;
}

just like an in-line if-else statement


More information about the Digitalmars-d mailing list