DIP 1029--Add throw as Function Attribute--Formal Assessment

Mike Parker aldacron at gmail.com
Sat Jul 25 14:47:57 UTC 2020

Now that our new DIP rules have been announced, I'm going to get 
the DIP process moving again. And the first thing on the list is 
the announcement that DIP 1029, "Add throw as Function Attribute" 
has been accepted.


The rationale is in the DIP's Review Summary, but I quote it here 
for convenience:

"This DIP was accepted with no request for revision.

The Language Maintainers felt that arguments suggesting 
alternative syntax, such as @throw or throw!bool, are not 
persuasive. The motivation behind @ in attribute names is to 
provide an alternative to the introduction of new keywords. 
However, throw is already a keyword, and adding @throw would 
introduce an incongruity with nothrow. Leaving them both as-is is 
the simplest approach. throw!bool would render nothrow redundant 
and is inconsistent with the existing set of built-in attributes.

Also, there were no strong objections to the proposal itself. 
Although some objections were raised to the introduction of a 
counter to nothrow alone as opposed to a broader proposal 
encompassing all similar attributes, the Language Maintainers see 
no problem. This DIP is focused solely on the obvious application 
of the existing throw keyword to its new role. Any larger changes 
to attribute syntax are beyond its scope."

More information about the Digitalmars-d-announce mailing list