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.