From 49aa66eb784736adbf48864cda0b9fc3f9766590 Mon Sep 17 00:00:00 2001 From: ConnorSkees <39542938+ConnorSkees@users.noreply.github.com> Date: Sun, 5 Apr 2020 20:19:46 -0400 Subject: [PATCH] refactor max_args error message --- src/builtin/macros.rs | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/builtin/macros.rs b/src/builtin/macros.rs index 9710807..f87d178 100644 --- a/src/builtin/macros.rs +++ b/src/builtin/macros.rs @@ -37,21 +37,18 @@ macro_rules! named_arg { macro_rules! max_args { ($args:ident, $count:literal) => { if $args.len() > $count { + let mut err = String::with_capacity(50); + err.push_str(&format!("Only {} argument", $count)); if $count != 1 { - return Err(format!( - "Only {} arguments allowed, but {} were passed.", - $count, - $args.len() - ) - .into()); - } else { - return Err(format!( - "Only {} argument allowed, but {} were passed.", - $count, - $args.len() - ) - .into()); + err.push('s'); } + err.push_str(&format!(" allowed, but {} ", $args.len())); + if $args.len() == 1 { + err.push_str("was passed.") + } else { + err.push_str("were passed.") + } + return Err(err.into()); } }; }