DIP 1047, "Add @gc as a Function Attribute" -- Formal Assessment Result

Mike Parker aldacron at gmail.com
Sun Aug 25 13:36:15 UTC 2024


DIP 1047, "Add @gc as a Function Attribute", has been rejected.

The DIP cited the approval of DIP 1029, which added the `throw` 
function attribute, as a justification for adding `@gc` to the 
language. But in the years since DIP 1029 was approved, Walter 
and Atila have come to a different point of view.

They would prefer to see a single attribute that negates all of 
the binary attributes (`pure`, `nothrow`, and `@nogc`) at once 
rather than adding a counterpart for each. This would extend to 
any binary attributes that may be added to the language in the 
future. This would take the form of something like `@default`.

They did consider the inconsistency of rejecting `@gc` when 
`throw` was already in the language, but noted that the 
implementation of `throw` was never merged. As such, DIP 1029 
will be superseded by the DIP that introduces `@default`, or 
whatever form it takes.

Thanks to Quirin for submitting the DIP.

I would like to remind everyone that if you intend to write a 
DIP, please first submit it to the DIP Ideas forum for 
discussion. If you subsequently feel you'd like to proceed with 
development, then please contact me before writing the DIP and 
submitting it to the DIP Development forum.


More information about the Digitalmars-d-announce mailing list