From 353043036549d93e216efdc157e5a56f7a324c3c Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Mon, 30 Nov 2020 13:53:49 +0100 Subject: [PATCH] tools avoid unnecessary copying of parameters/properties Signed-off-by: Wolfgang Bumiller --- src/tools.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/tools.rs b/src/tools.rs index dd703cf6..23fd99d7 100644 --- a/src/tools.rs +++ b/src/tools.rs @@ -142,16 +142,16 @@ pub fn required_integer_property(param: &Value, name: &str) -> Result Result, Error> { +pub fn required_array_param<'a>(param: &'a Value, name: &str) -> Result<&'a [Value], Error> { match param[name].as_array() { - Some(s) => Ok(s.to_vec()), + Some(s) => Ok(&s), None => bail!("missing parameter '{}'", name), } } -pub fn required_array_property(param: &Value, name: &str) -> Result, Error> { +pub fn required_array_property<'a>(param: &'a Value, name: &str) -> Result<&'a [Value], Error> { match param[name].as_array() { - Some(s) => Ok(s.to_vec()), + Some(s) => Ok(&s), None => bail!("missing property '{}'", name), } }