fix ranges over zero-length input (#15062)

Fixes #15061

# User-Facing Changes

Fixes panics when slicing empty input with inclusive ranges:

```nushell
> random binary 0 | bytes at 0..0
Error:   x Main thread panicked.
  |-> at crates/nu-protocol/src/value/range.rs:118:42
  `-> attempt to subtract with overflow
```
This commit is contained in:
Solomon
2025-02-08 17:57:28 -07:00
committed by GitHub
parent 26897b287c
commit 31e1f49cb6
2 changed files with 9 additions and 1 deletions

View File

@ -388,6 +388,13 @@ fn substring_by_negative_index() {
})
}
#[test]
fn substring_of_empty_string() {
let actual = nu!("'' | str substring ..0");
assert_eq!(actual.err, "");
assert_eq!(actual.out, "");
}
#[test]
fn str_reverse() {
let actual = nu!(r#"