DIP 1029---Add throw as Function Attribute---Community Review Round 1

Jonathan M Davis newsgroup.d at jmdavisprog.com
Thu Jan 23 05:06:21 UTC 2020

On Tuesday, January 14, 2020 3:44:17 AM MST Mike Parker via Digitalmars-d 
> This is the feedback thread for the first round of Community
> Review for DIP 1029, "Add throw as Function Attribute":
> https://github.com/dlang/DIPs/blob/8c48c98a0495f73db9a2d5c4aef502b9febe967
> 3/DIPs/DIP1029.md
> 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 January 28, or when I make a post declaring it complete.
> At the end of Round 1, if further review is deemed necessary, the
> DIP will be scheduled for another round of Community Review.
> Otherwise, it will be queued for the Final Review and Formal
> Assessment.
> Anyone intending to post feedback in this thread is expected to
> be familiar with the reviewer guidelines:
> https://github.com/dlang/DIPs/blob/master/docs/guidelines-reviewers.md
> *Please stay on topic!*
> Thanks in advance to all who participate.
> #DIP1029
> #throw

I do think that we should consider adding something like pure(true) and
pure(false) - and possibly something like pure(default) or pure(inferred) -
for attributes where that makes sense, because it would work better with
metaprogramming (at least if an expression can be provided instead of only
boolean literals). And if we went with something like that, arguably it
doesn't make sense to add throw in addition to nothrow, since throw could
just be nothrow(false). However, the double negative is arguably
undesirable, and even if a boolean solution would be desirable, this DIP is
an improvement over the current sitution and does not make it so that we
can't add a more flexible solution for negating function attributes in
general later.

- Jonathan M Davis

More information about the Digitalmars-d mailing list