rust/library
Ralf Jung 7344f930c0
Rollup merge of #76114 - marmeladema:duration-saturating-ops, r=shepmaster
Add saturating methods for `Duration`

In some project, I needed a `saturating_add` method for `Duration`. I implemented it myself but i thought it would be a nice addition to the standard library as it matches closely with the integers types.

3 new methods have been introduced and are gated by the new `duration_saturating_ops` unstable feature:
* `Duration::saturating_add`
* `Duration::saturating_sub`
* `Duration::saturating_mul`

If have left the tracking issue to `none` for now as I want first to understand if those methods would be acceptable at all. If agreed, I'll update the PR with the tracking issue.

Further more, to match the behavior of integers types, I introduced 2 associated constants:
* `Duration::MIN`: this one is somehow a duplicate from `Duration::zero()` method, but at the time this method was added, `MIN` was rejected as it was considered a different semantic (see https://github.com/rust-lang/rust/pull/72790#issuecomment-636511743).
* `Duration::MAX`

Both have been gated by the already existing unstable feature `duration_constants`, I can introduce a new unstable feature if needed or just re-use the `duration_saturating_ops`.

We might have to decide whether:
* `MIN` should be replaced by `ZERO`?
* associated constants over methods?
2020-09-12 10:43:08 +02:00
..
alloc Auto merge of #75021 - cuviper:array_chunks_mut, r=scottmcm 2020-09-12 03:59:46 +00:00
backtrace@4083a90168 std: Switch from libbacktrace to gimli 2020-07-28 16:34:01 -07:00
core Rollup merge of #76114 - marmeladema:duration-saturating-ops, r=shepmaster 2020-09-12 10:43:08 +02:00
panic_abort Rollup merge of #75990 - rylev:arm-fastfail, r=alexcrichton 2020-08-30 01:43:54 +02:00
panic_unwind Auto merge of #70212 - Amanieu:catch_foreign, r=Mark-Simulacrum 2020-08-28 01:20:17 +00:00
proc_macro Respect -Z proc-macro-backtrace flag for panics inside libproc_macro 2020-09-03 12:13:26 -04:00
profiler_builtins Fix warning whe building profiler_builtins crate 2020-09-04 15:10:29 +02:00
rtstartup mv std libs to library/ 2020-07-27 19:51:13 -05:00
rustc-std-workspace-alloc mv std libs to library/ 2020-07-27 19:51:13 -05:00
rustc-std-workspace-core mv std libs to library/ 2020-07-27 19:51:13 -05:00
rustc-std-workspace-std mv std libs to library/ 2020-07-27 19:51:13 -05:00
std Auto merge of #74328 - yoshuawuyts:stabilize-future-readiness-fns, r=sfackler 2020-09-12 02:13:28 +00:00
stdarch@78891cdf29 fix broken git commit in stdarch 2020-08-03 15:52:30 +08:00
term mv std libs to library/ 2020-07-27 19:51:13 -05:00
test Prefer https link for wikipedia URLs 2020-08-23 10:02:42 +00:00
unwind Add back unwinding support for Sony PSP 2020-08-08 02:14:40 -04:00