From fb07751cfc1efb657cba7005c38ed5ec6b192b4f Mon Sep 17 00:00:00 2001 From: Illia Date: Fri, 16 Dec 2016 08:45:47 -0800 Subject: [PATCH] Framework: format argument number on parse error --- src/ext/framework/mod.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/ext/framework/mod.rs b/src/ext/framework/mod.rs index 085bf2c6226..c580d76a130 100644 --- a/src/ext/framework/mod.rs +++ b/src/ext/framework/mod.rs @@ -133,14 +133,21 @@ macro_rules! command { ($fname:ident($c:ident, $m:ident, $a:ident, $($name:ident: $t:ty),*) $b:block) => { pub fn $fname($c: &Context, $m: &Message, $a: Vec) -> Result<(), String> { let mut i = $a.iter(); + let mut arg_counter = 0; $( + arg_counter += 1; + let $name = match i.next() { Some(v) => match v.parse::<$t>() { Ok(v) => v, - Err(_) => return Err(format!("Failed to parse {:?}", stringify!($t))), + Err(_) => return Err(format!("Failed to parse argument #{} of type {:?}", + arg_counter, + stringify!($t))), }, - None => return Err(format!("Failed to parse {:?}", stringify!($t))), + None => return Err(format!("Failed to parse argument #{} of type {:?}", + arg_counter, + stringify!($t))), }; )*