July 25
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."