On Thursday, 17 April 2014 at 15:49:44 UTC, Dicebot wrote:
put() may call GC to grow the buffer, this is the very point.
What is desired is to check if anything _else_ does call GC,
thus the "weak @nogc" parallel.
What do you need that for?
Of course, resorting to templates requires some
thinking-ahead, and makes reuse more difficult.
I don't see how templates can help here right now.
Wasn't the problem that the type-interface was less constrained
than the type-interface allowed by a @nogc constrained function?
I perceive the problem as being this: you cannot fully specify
all types because of the combinatorial explosion. In which case
templates tend to be the easy-hack-solution where the type system
falls short?