summaryrefslogtreecommitdiff
path: root/src/eval/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval/mod.rs')
-rw-r--r--src/eval/mod.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/eval/mod.rs b/src/eval/mod.rs
index 68163bf6..2719c298 100644
--- a/src/eval/mod.rs
+++ b/src/eval/mod.rs
@@ -1268,7 +1268,13 @@ impl ast::Pattern {
ast::DestructuringKind::Named(named) => {
bail!(named.span(), "cannot destructure named elements from an array")
}
- ast::DestructuringKind::Placeholder(_) => i += 1,
+ ast::DestructuringKind::Placeholder(underscore) => {
+ if i < value.len() {
+ i += 1
+ } else {
+ bail!(underscore.span(), "not enough elements to destructure")
+ }
+ }
}
}
if i < value.len() {