On Wednesday, 7 June 2017 at 14:58:26 UTC, drug wrote:
07.06.2017 16:27, Wulfklaue пишет:
Some of the dmd error messages need some tweaking.
import std.datetime;
auto t = Clock.currStdTime;
writeln(to!string(t));
Result in:
Error: template core.time.to cannot deduce function from
argument types !(string)(long), candidates are:
C:\D\dmd2\windows\bin\..\..\src\druntime\import\core\time.d(1709): core.time.to(string units, T, D)(D td) if (is(_Unqual!D ==
TickDuration) && (units == "seconds" || units == "msecs" || units == "usecs" || units ==
"hnsecs" || units == "nsecs"))
[...]
For me it's a good message.
Messages like this were an annoyance when I started out. If you
don't import std.stdio, you get the error message
Error: 'writeln' is not defined, perhaps you need to import
std.stdio; ?
That's a very helpful error message if you're new to D, and
especially helpful if you're new to programming. This particular
error is likely a common one, and adding "perhaps you need to
import std.conv" would help a lot. Even a generic "perhaps you
forgot an import statement" would tell new users what the error
might be. Making it worse is that it says core.time.to but there
was no import of core.time.