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.

Reply via email to