Using the below program: ----- module timetest; import std.stdio; import std.date; void main(char[][] args) { foreach( arg ; args[1..$] ) { auto time = parse(arg); time = UTCtoLocalTime(time); // Line 11 auto str = toUTCString(time); // Line 12 writefln(`"%s" = %s (%s)`, arg, time, str); } } ----- If I compile this and call it like this: $ timetest "Jan 1" The program hangs. If I comment out UTCtoLocalTime, and re-run with the same arguments, it outputs "Jan 1" = -9223372036854775808 (Invalid Date) Now it gets weird. If I un-comment line 11 and comment line 12 (replace the "str" arg to writefln with ""), I get: "Jan 1" = -9223372036818775808 () And if I then comment-out line 11 again, rerun, I get: "Jan 1" = -9223372036854775808 () So, for some reason, toUTCString fails on d_time_nan iif it has been passed through UTCtoLocalTime, despite the fact that UTCtoLocalTime doesn't change the value.
Fixed DMD 1.013
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル