DIP 1009--Improve Contract Usability--Formal Review

Mark via Digitalmars-d digitalmars-d at puremagic.com
Wed Aug 30 07:05:40 PDT 2017


On Wednesday, 30 August 2017 at 12:26:43 UTC, Mike Parker wrote:
> The first stage of the formal review for DIP 1009 [1], "Improve 
> Contract Syntax", is now underway. From now until 11:59 PM ET 
> on September 13 (3:59 AM GMT on September 14), the community 
> has the opportunity to provide last-minute feedback. If you 
> missed either of the two preliminary review rounds [2][3], this 
> is your chance to provide input.
>
> At the end of the feedback period, I will submit the DIP to 
> Walter and Andrei for their final decision. Thanks in advance 
> to those of you who participate.
>
> [1] 
> https://github.com/dlang/DIPs/blob/98052839441fdb8c6cc05afccb9a81d084051c4d/DIPs/DIP1009.md
>
> [2] 
> http://forum.dlang.org/post/gjtsfysvtyxcfcmuutez@forum.dlang.org
>
> [3] 
> http://forum.dlang.org/post/luhdbjnsmfomtgpydser@forum.dlang.org

I see that in the previous review rounds some people suggested 
various keywords for designating the return value of a function 
("return", "result", ...) in an `out` contract. What about using 
a plain old underscore? For example:

int abs(int x)
out(_ >= 0)
{
     return x>0 ? x : -x;
}


More information about the Digitalmars-d mailing list