grauzone wrote:
* std.mmfile: integrate with the garbage collector. It should be there.

Why should the GC know about it?

To add: in all sane situations, the mmaped region won't contain any pointers, and the GC doesn't have to scan it. Allocating address space is already done by the OS. Freeing the mmaped region is not the GC's responsibility, but can be left to finalizers/destructors.

Because the only way to make memory-mapped files safe is to have the GC handle them.

Care to explain?

mmhandle h = mapFile("test.txt");
char[] x = cast(char[]) h.ptr;
h.unmapFile;

Any attempt to use x will crash the program. So it's the gc who needs to unmap files when they are no longer referenced.

* std.outbuffer: I think this shouldn't be a class and shouldn't have that name.

I found this class to be absolutely useless. And there isn't even std.inbuffer! One of the crappier parts of Phobos.

It's used in regular expressions.

Not saying the concept is useless, but the implementation. But maybe you planned fixing this anyway.

How about giving these up to Tango? The only problem is, it has not been ported to D2 yet.

That's not an option.

Licensing reasons? Not-Invented-Here-Syndrome? You love reinventing the wheel?

Licensing and the love for reading snickering remarks.


Andrei

Reply via email to