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.

Reply via email to