Friendly error message for access beyond end (#6944)

Adds `ShellError::AccessEmptyContent`
This commit is contained in:
WindSoilder
2022-10-30 01:47:50 +08:00
committed by GitHub
parent 7039602e4d
commit 4f7f6a2932
7 changed files with 46 additions and 11 deletions

View File

@ -96,9 +96,11 @@ impl EvaluatedCall {
pub fn req<T: FromValue>(&self, pos: usize) -> Result<T, ShellError> {
if let Some(value) = self.nth(pos) {
FromValue::from_value(&value)
} else if self.positional.is_empty() {
Err(ShellError::AccessEmptyContent(self.head))
} else {
Err(ShellError::AccessBeyondEnd(
self.positional.len(),
self.positional.len() - 1,
self.head,
))
}