https://issues.dlang.org/show_bug.cgi?id=5931
Johannes Loher <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |[email protected] Resolution|--- |WONTFIX --- Comment #6 from Johannes Loher <[email protected]> --- The first problem mentioned has been solved since 2.063. The second problem is still present, error message of 2.080.0: main.d(16): Error: none of the overloads of this are callable using argument types (File), candidates are: /usr/include/dlang/dmd/std/stdio.d(387): std.stdio.File.this(shared(_IO_FILE)* handle, string name, uint refs = 1u, bool isPopened = false) /usr/include/dlang/dmd/std/stdio.d(425): std.stdio.File.this(string name, const(char[]) stdioOpenmode = "rb") /usr/include/dlang/dmd/std/stdio.d(443): std.stdio.File.__ctor(R1, R2)(R1 name) if (isInputRange!R1 && isSomeChar!(ElementEncodingType!R1)) /usr/include/dlang/dmd/std/stdio.d(451): std.stdio.File.__ctor(R1, R2)(R1 name, R2 mode) if (isInputRange!R1 && isSomeChar!(ElementEncodingType!R1) && isInputRange!R2 && isSomeChar!(ElementEncodingType!R2)) The reason is in general, that you can't call postblits as if they were constructors (`File file; auto f = File(file);` also does not work). However, it seems that postblits will probably be replaced by some form of copy constructor, so this might even resolve this issue. I will close this for now. If you really want this feature, please submit a new issue as an enhancement request. --
