nushell/crates/nu-command/src
Devyn Cairns 13160b3ec3
Replace subtraction of Instants and Durations with saturating subtractions (#12549)
# Description
Duration can not be negative, and an underflow causes a panic.

This should fix #12539 as from what I can tell that bug was caused in
`nu-explore:📟:events` from subtracting durations, but I figured
this might be more widespread, and saturating to zero generally makes
sense.

I also added the relevant clippy lint to try to prevent this from
happening in the future. I can't think of a reason we would ever want to
subtract durations without checking first.

cc @fdncred

# Tests + Formatting
- 🟢 `toolkit fmt`
- 🟢 `toolkit clippy`
- 🟢 `toolkit test`
- 🟢 `toolkit test stdlib`
2024-04-17 07:25:16 -05:00
..
bytes Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
charting Copy-on-write for record values (#12305) 2024-04-14 01:42:03 +00:00
conversions use abbreviated string instead of debug string for DatetimeParseErrors (#12517) 2024-04-16 23:19:03 +02:00
database Copy-on-write for record values (#12305) 2024-04-14 01:42:03 +00:00
date use abbreviated string instead of debug string for DatetimeParseErrors (#12517) 2024-04-16 23:19:03 +02:00
debug Replace subtraction of Instants and Durations with saturating subtractions (#12549) 2024-04-17 07:25:16 -05:00
env Improve with-env robustness (#12523) 2024-04-16 19:08:58 +08:00
experimental Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
filesystem making ls and du supports rest parameters. (#12327) 2024-04-13 15:03:17 +00:00
filters Make group-by return errors in closure (#12508) 2024-04-16 21:52:21 +02:00
formats Copy-on-write for record values (#12305) 2024-04-14 01:42:03 +00:00
generators Copy-on-write for record values (#12305) 2024-04-14 01:42:03 +00:00
hash Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
help Copy-on-write for record values (#12305) 2024-04-14 01:42:03 +00:00
math Copy-on-write for record values (#12305) 2024-04-14 01:42:03 +00:00
misc Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
network Copy-on-write for record values (#12305) 2024-04-14 01:42:03 +00:00
path Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
platform Return value instead of stream from kill (#12480) 2024-04-12 10:44:27 -05:00
random Range refactor (#12405) 2024-04-06 09:04:56 -05:00
removed Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
shells Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
stor Fix typo in help stor import (#12442) 2024-04-07 08:09:24 -05:00
strings use abbreviated string instead of debug string for DatetimeParseErrors (#12517) 2024-04-16 23:19:03 +02:00
system Rename IoStream to OutDest (#12433) 2024-04-09 16:48:32 +00:00
viewers Copy-on-write for record values (#12305) 2024-04-14 01:42:03 +00:00
default_context.rs Use nightly clippy to kill dead code/fix style (#12334) 2024-03-30 09:17:28 +08:00
example_test.rs Initial --params implementation (#12249) 2024-03-24 15:40:21 -05:00
lib.rs Initial --params implementation (#12249) 2024-03-24 15:40:21 -05:00
progress_bar.rs remove cp-old (#11622) 2024-01-24 07:38:15 +08:00
sort_utils.rs Rename Value::CustomValue to Value::Custom (#12309) 2024-03-27 22:10:56 +01:00