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.rs16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/eval/args.rs b/src/eval/args.rs
index 159e9a77..17bd9cb4 100644
--- a/src/eval/args.rs
+++ b/src/eval/args.rs
@@ -1,10 +1,11 @@
-use std::fmt::{self, Debug, Formatter, Write};
+use std::fmt::{self, Debug, Formatter};
-use ecow::EcoVec;
+use ecow::{eco_format, EcoVec};
use super::{Array, Cast, Dict, Str, Value};
use crate::diag::{bail, At, SourceResult};
use crate::syntax::{Span, Spanned};
+use crate::util::pretty_array;
/// Evaluated arguments to a function.
#[derive(Clone, PartialEq, Hash)]
@@ -171,14 +172,9 @@ impl Args {
impl Debug for Args {
fn fmt(&self, f: &mut Formatter) -> fmt::Result {
- f.write_char('(')?;
- for (i, arg) in self.items.iter().enumerate() {
- arg.fmt(f)?;
- if i + 1 < self.items.len() {
- f.write_str(", ")?;
- }
- }
- f.write_char(')')
+ let pieces: Vec<_> =
+ self.items.iter().map(|arg| eco_format!("{arg:?}")).collect();
+ f.write_str(&pretty_array(&pieces, false))
}
}