On 27.04.2011 22:46, Dmitry Olshansky wrote:

> - there is an awful lot of operations which allocate GC memory implicitly aka 
> arr1 ~ arr2, so it's not like you can pass the allocator and prevent the 
> function from allocating _somewhere_ else

  This is solvable by using different runtime or class hierarchy, thus 
overriding "~" & co. Another option is to avoid constructs which may invoke GC 
(those are well-described).

> - I still fail to see how passing allocator would allow the function to 
> decide on whether it's GC-like allocation or not, i.e. manual memory 
> management implies the certain way function does its job (more generally the 
> whole program, framework, module
> etc. it's not something decided at single call point)

  Again - different runtime and/or specialized class hierarchy. Custom 
(de)allocators are inherited, so one base class will do.

/Alexander

Reply via email to