久々に D ネタ。
以下のコードが通らない(訳あって Ver0.160)。
rand_seed(d_time, 0); dmd -c -d -w -op -debug -g -I../import gctrl.d warning - gctrl.d(122): implicit conversion of expression (long) of type long to uint can cause loss of data make: *** [gctrl.obj] Error 1
うーん。 D は -w オプションをつけると警告を出すんだけど、警告はエラーとして扱うんだよね。これ、外したくないんだよねぇ。特に深い理由は無いんだけど。
ちなみにこうすると、
rand_seed(cast(uint)d_time, 0); dmd -c -d -w -op -debug -g -I../import gctrl.d gctrl.d(122): type long is not an expression make: *** [gctrl.obj] Error 1
こうなる。あーもうどうすればいいのかと。
素直に「std.c.time」を使うか...。ってそれで解決するのか?