Hi
Am 2026-06-19 12:25, schrieb ignace nyamagana butera:
However, I would advise against introducing Duration::add and
Duration::sub
methods. Instead, I would recommend providing a single method,
Duration::sum(Duration
...$durations): self.
Given that a Duration already carries a sign and may therefore be
either
positive or negative, the presence of separate add and sub methods
could
create an implicit and potentially misleading notion of directional
behavior.
In contrast, a sum method using variadic arguments would allow multiple
Duration instances to be combined in a natural and consistent manner.
It
would also avoid implying any expectation regarding the resulting sign,
which may legitimately be either positive or negative depending on the
input values.
Can you clarify if you expect the `sum()` method to be a static method
or an instance method? If it's a static method, what would you expect
`Duration::sum()` (with an empty list of durations) to result in? Should
it be an Error, `Duration::fromSeconds(0)`, or perhaps something
entirely different?
Best regards
Tim Düsterhus
PS: Please don't forget to reply below the quoted parts; and to cut the
quoted parts to the relevant portion.