On Tuesday, 15 April 2014 at 19:56:46 UTC, Walter Bright wrote:
On 4/15/2014 12:49 PM, Tove wrote:
Yes, please all, even "harmless" calls. This way you are guaranteed that you can include @nogc modules in projects which doesn't even link with a GC.

Yup.

One issue we might encounter, is that when a function requires a local temporary buffer, then "@nogc" and "pure" will be mutually exclussive. Implementation can either use the GC, and be pure but not @nogc. Or it can use malloc, and no @nogc but impure.

I recently worked on a more generic version of your "ScopeBuffer", "ScopeAppender", which makes some concessions to be usable in a more generic fashion. It uses the GC, even though it retains complete ownership of the allocated data, if only just to be useable in pure code.

So, yeah. That might be a problem for those that want to do without the GC, but retain purity.

Reply via email to