On Monday, February 25, 2013 21:29:28 monarch_dodra wrote: > Since you are the one that refactored, what was the point of > those _init functions? Wouldn't they have better worked as > private constructors?
It's the way that it's always been, but I don't currently remember the details of why I made which changes I made and not others. I suspect that it was done that way, because the code that used the explicitly created them before it initialized them, and I guess that whoever wrote it originally didn't like the idea of doing something like de = DirEntry(args); but I don't know. It's on old module (probably from D1 originally) and has a fair bit of work done on it, but that doesn't mean that no quirks have remained. And DirEntry is somewhat of an odd beast in that it was originally intended to be used only for dirEntries and was more of an abstraction on dirent (like you get with the C readdir). It's changed quite a bit since then. Some of that was me, and some of it wasn't. It's quite possible that some more refactoring is in order, and certainly, the fact that DirEntry("foo") compiles but doesn't work is a problem. Either it shouldn't compile, or it should work. - Jonathan M Davis