diff --git a/source/dub/internal/sdlang/token.d b/source/dub/internal/sdlang/token.d index e339a2c27..5eca6190f 100644 --- a/source/dub/internal/sdlang/token.d +++ b/source/dub/internal/sdlang/token.d @@ -270,10 +270,15 @@ void toSDLString(Sink)(SysTime value, ref Sink sink) if(isOutputRange!(Sink,char } else sink.put("+"); + + long hours, minutes; + static if (__VERSION__ >= 2066) + offset.split!("hours", "minutes")(hours, minutes); + else hours = offset.hours, minutes = offset.minutes; - sink.put("%.2s".format(offset.split.hours)); + sink.put("%.2s".format(hours)); sink.put(":"); - sink.put("%.2s".format(offset.split.minutes)); + sink.put("%.2s".format(minutes)); } else sink.put(tzString); @@ -303,16 +308,21 @@ void toSDLString(Sink)(Duration value, ref Sink sink) if(isOutputRange!(Sink,cha sink.put("d:"); } - sink.put("%.2s".format(value.split.hours)); + long hours, minutes, seconds, msecs; + static if (__VERSION__ >= 2066) + value.split!("hours", "minutes", "seconds", "msecs")(hours, minutes, seconds, msecs); + else hours = value.hours, minutes = value.minutes, seconds = value.seconds, msecs = value.fracSec.msecs; + + sink.put("%.2s".format(hours)); sink.put(':'); - sink.put("%.2s".format(value.split.minutes)); + sink.put("%.2s".format(minutes)); sink.put(':'); - sink.put("%.2s".format(value.split.seconds)); + sink.put("%.2s".format(seconds)); - if(value.split.msecs != 0) + if(msecs != 0) { sink.put('.'); - sink.put("%.3s".format(value.split.msecs)); + sink.put("%.3s".format(msecs)); } }