summaryrefslogtreecommitdiff
path: root/src/eval/args.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval/args.rs')
-rw-r--r--src/eval/args.rs25
1 files changed, 14 insertions, 11 deletions
diff --git a/src/eval/args.rs b/src/eval/args.rs
index 40454ff5..f507e714 100644
--- a/src/eval/args.rs
+++ b/src/eval/args.rs
@@ -26,19 +26,22 @@ pub struct Arg {
}
impl Args {
+ /// Create empty arguments from a span.
+ pub fn new(span: Span) -> Self {
+ Self { span, items: vec![] }
+ }
+
/// Create positional arguments from a span and values.
pub fn from_values(span: Span, values: impl IntoIterator<Item = Value>) -> Self {
- Self {
- span,
- items: values
- .into_iter()
- .map(|value| Arg {
- span,
- name: None,
- value: Spanned::new(value, span),
- })
- .collect(),
- }
+ let items = values
+ .into_iter()
+ .map(|value| Arg {
+ span,
+ name: None,
+ value: Spanned::new(value, span),
+ })
+ .collect();
+ Self { span, items }
}
/// Consume and cast the first positional argument.