@@ -2131,6 +2131,7 @@ public:
21312131 $(BOOKTABLE,
21322132 $(TR $(TD DateTime) $(TD +) $(TD Duration) $(TD -->) $(TD DateTime))
21332133 $(TR $(TD DateTime) $(TD -) $(TD Duration) $(TD -->) $(TD DateTime))
2134+ $(TR $(TD Duration) $(TD +) $(TD DateTime) $(TD -->) $(TD DateTime))
21342135 )
21352136
21362137 Params:
@@ -2145,6 +2146,14 @@ public:
21452146 mixin (" return retval._addSeconds(" ~ op ~ " seconds);" );
21462147 }
21472148
2149+ // / ditto
2150+ DateTime opBinaryRight (string op)(Duration duration) const @safe pure nothrow @nogc
2151+ if (op == " +" )
2152+ {
2153+ return this + duration;
2154+ }
2155+
2156+
21482157 // /
21492158 @safe unittest
21502159 {
@@ -2161,6 +2170,9 @@ public:
21612170
21622171 assert (DateTime (2016 , 1 , 1 , 0 , 59 , 59 ) - hours(1 ) ==
21632172 DateTime (2015 , 12 , 31 , 23 , 59 , 59 ));
2173+
2174+ assert (DateTime (2015 , 12 , 31 , 23 , 59 , 59 ) + hours(1 ) ==
2175+ hours(1 ) + DateTime (2015 , 12 , 31 , 23 , 59 , 59 ));
21642176 }
21652177
21662178 @safe unittest
@@ -6134,13 +6146,14 @@ public:
61346146 import core.time : Duration;
61356147 /+ +
61366148 Gives the result of adding or subtracting a $(REF Duration, core,time)
6137- from
6149+ from this $(LREF Date).
61386150
61396151 The legal types of arithmetic for $(LREF Date) using this operator are
61406152
61416153 $(BOOKTABLE,
61426154 $(TR $(TD Date) $(TD +) $(TD Duration) $(TD -->) $(TD Date))
61436155 $(TR $(TD Date) $(TD -) $(TD Duration) $(TD -->) $(TD Date))
6156+ $(TR $(TD Duration) $(TD +) $(TD Date) $(TD -->) $(TD Date))
61446157 )
61456158
61466159 Params:
@@ -6155,6 +6168,14 @@ public:
61556168 mixin (" return retval._addDays(" ~ op ~ " days);" );
61566169 }
61576170
6171+
6172+ // / ditto
6173+ Date opBinaryRight (string op)(Duration duration) const @safe pure nothrow @nogc
6174+ if (op == " +" )
6175+ {
6176+ return this + duration;
6177+ }
6178+
61586179 // /
61596180 @safe unittest
61606181 {
@@ -6165,6 +6186,8 @@ public:
61656186
61666187 assert (Date (2016 , 1 , 1 ) - days(1 ) == Date (2015 , 12 , 31 ));
61676188 assert (Date (2004 , 3 , 1 ) - days(4 ) == Date (2004 , 2 , 26 ));
6189+
6190+ assert (Date (2004 , 2 , 26 ) + days(4 ) == days(4 ) + Date (2004 , 2 , 26 ));
61686191 }
61696192
61706193 @safe unittest
@@ -8844,6 +8867,7 @@ public:
88448867 $(BOOKTABLE,
88458868 $(TR $(TD TimeOfDay) $(TD +) $(TD Duration) $(TD -->) $(TD TimeOfDay))
88468869 $(TR $(TD TimeOfDay) $(TD -) $(TD Duration) $(TD -->) $(TD TimeOfDay))
8870+ $(TR $(TD Duration) $(TD +) $(TD TimeOfDay) $(TD -->) $(TD TimeOfDay))
88478871 )
88488872
88498873 Params:
@@ -8858,6 +8882,13 @@ public:
88588882 mixin (" return retval._addSeconds(" ~ op ~ " seconds);" );
88598883 }
88608884
8885+ // / ditto
8886+ TimeOfDay opBinaryRight (string op)(Duration duration) const @safe pure nothrow @nogc
8887+ if (op == " +" )
8888+ {
8889+ return this + duration;
8890+ }
8891+
88618892 // /
88628893 @safe unittest
88638894 {
@@ -8872,6 +8903,8 @@ public:
88728903 assert (TimeOfDay (12 , 12 , 12 ) - minutes(1 ) == TimeOfDay (12 , 11 , 12 ));
88738904 assert (TimeOfDay (12 , 12 , 12 ) - hours(1 ) == TimeOfDay (11 , 12 , 12 ));
88748905 assert (TimeOfDay (0 , 0 , 0 ) - seconds(1 ) == TimeOfDay (23 , 59 , 59 ));
8906+
8907+ assert (TimeOfDay (12 , 12 , 12 ) + seconds(1 ) == seconds(1 ) + TimeOfDay (12 , 12 , 12 ));
88758908 }
88768909
88778910 @safe unittest
0 commit comments