Overloaded "-"(DELTA: REAL; TREC: TIME_RECORD) return TIME_RECORD in STD.ENV has unclear semantics
process is
variable t1, t2 : time_record;
begin
t1 := gmtime;
t2 := 1.0 - t1;
wait;
end process;What should the value of the fields in t2 be? It's not clear to me what t2 represents or what one would do with it. For example, what should be the value of t2.weekday? Elsewhere in the time API we use real to represent time deltas, for example when subtracting two time_records, and in every other subprogram that takes or returns a time_record it represents an absolute time. I suspect this overload was added to provide symmetry for the "-"(TREC: TIME_RECORD; DELTA: REAL) return TIME_RECORD overload, but whereas that overload does have a valid interpretation ("subtract a delta from the absolute time") swapping the arguments seems to have no sensible interpretation. Note that - is not commutative unlike +. I suggest we just delete this overload.