On Monday, 23 September 2013 at 13:58:42 UTC, Andrei Alexandrescu wrote:
If the author forgets and hardcodes a library to use malloc(), I have no way around that.


We should consider the lib writer use new and/or automatic allocation like for closures. In practice, this is what will happen.

new will still be used to tap into the global shared GC. std.allocator will provide other means of allocating memory.


That uterly suck and we can do better using type informations.

At this point collect() is only implemented by the global GC. It is possible I'll drop it from the final design. However, it's also possible that collect() will be properly defined as "collect all objects allocated within this particular allocator that are not referred from any objects also allocated within this allocator". I think that's a useful definition.


I don't think collect is usefull with no type information (not even if the data may contain pointers).

The D language has no idea what a range is. The notion is completely defined in std.range.


foreach has some idea of what a range is.

Reply via email to