On Mon, 29 Sep 2025 21:36:35 GMT, Pavel Rappo <[email protected]> wrote:
>> We have [recently discussed][] a possibility of adding the `Duration.MIN` >> and `Duration.MAX` constants. Can we now start implementation? If and when >> we are in agreement on this PR, I will file a CSR. >> >> I drafted a minimal specification and added some tests. I tried to phrase >> the spec for `Duration.MIN` in a way that makes it clear that `Duration.MIN` >> is the most negative value and not the least positive. >> >> [recently discussed]: >> https://mail.openjdk.org/pipermail/core-libs-dev/2025-September/151098.html > > Pavel Rappo has updated the pull request incrementally with two additional > commits since the last revision: > > - Update copyright years > > Note: any commit hashes below might be outdated due to subsequent > history rewriting (e.g. git rebase). > > + update src/java.base/share/classes/java/time/temporal/ChronoUnit.java > due to 9a54ba1d353 > + update test/jdk/java/time/tck/java/time/TCKDuration.java due to > 9a54ba1d353 > - Provide @apiNote as suggested src/java.base/share/classes/java/time/Duration.java line 151: > 149: * instant}, as doing so will cause overflow. Extreme care should be > taken > 150: * when performing {@code Duration} arithmetic on them, such as > adding > 151: * them to or subtracting them from another duration. https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/time/Instant.html#MIN Suggestion: * The minimum supported Duration, which is {@code Long.MIN_VALUE} seconds. * * @apiNote This constant represents the smallest possible instance of {@code Duration}. * Since Durations are directed, the smallest possible duration is negative. * <p> * The constant is intended to be used as a sentinel value, such as in * comparisons and tests. Care should be taken when performing arithmetic * on {@code MIN} as there is a high risk that {@code ArithmeticException} * will be thrown. Similar for MAX. But it can repeat the class header comment about being longer than the age of the universe, ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/27534#discussion_r2392531493
