Description
SystemTime
ought to explain what happens with leap seconds.
In particular, the current text under SystemTime::UNIX_EPOCH
suggests using .duration_since()
to get "Using duration_since on an existing SystemTime instance can tell how far away from this point in time a measurement lies".
A programmer who is reading this and does not know of the existence of leap seconds will assume that the result is a Unix time_t
(with additional precision). I think this is in fact the case, but this is not stated and it should be.
I am filing this as a bug report because the lack of an explicit statement in the documentation makes it impossible to confidently write code which receives or emits unix times, even though that does seem to be the point of the UNIX_EPOCH
constant.
It would probably be useful to mention leap seconds as a reason why the clock might go backwards or might not run at a constant rate, along with clock adjustments (the implications of which are discussed without naming them!)