We recently [discussed] the possibility of introducing saturating arithmetic 
for deadline computation. Consider this PR as a starting point. Once we agree 
on the implementation, I'll file a CSR.

I created a method in `Instant` to add `Duration`. One could argue that the 
proper way would be to go all the way and create a method in `Temporal` to add 
`TemporalAmount`. Or maybe even expand the functionality, and create an 
additional method in `Temporal` to subtract `TemporalAmount`.

My current thinking is that if we were to do that, there would be a lot of 
expensive, unused code. Saturating logic seems to be only useful for `Instant` 
and `Duration`.

Even if we decide to extend `Temporal` to add/subtract `TemporalAmount`, it 
could always be done later. From the perspective of `Instant`, 
`plus(TemporalAmount)` will be just an overload of `plus(Duration)`.

[discussed]: 
https://mail.openjdk.org/pipermail/core-libs-dev/2025-September/151098.html

-------------

Commit messages:
 - Initial commit

Changes: https://git.openjdk.org/jdk/pull/27549/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27549&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8368856
  Stats: 65 lines in 2 files changed: 65 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/27549.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27549/head:pull/27549

PR: https://git.openjdk.org/jdk/pull/27549

Reply via email to