Fix #3213 Rest arg is not optional (#3303)

This commit is contained in:
Leonhard Kipp
2021-04-12 04:37:36 +02:00
committed by GitHub
parent 5f550a355b
commit 52d69bb021
2 changed files with 20 additions and 0 deletions

View File

@ -137,6 +137,13 @@ impl WholeStreamCommand for Arc<Block> {
UntaggedValue::Table(elements).into_value(Span::new(start, end)),
);
}
} else if block.params.rest_positional.is_some() {
//If there is a rest arg, but no args were provided,
//we have to set $rest to an empty table
ctx.scope.add_var(
"$rest",
UntaggedValue::Table(Vec::new()).into_value(Span::new(0, 0)),
);
}
if let Some(args) = evaluated.args.named {
for named in &block.params.named {