From 62f3c7d2d9262a36668d47892f2258eb4b2ff585 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Thu, 16 Apr 2020 09:12:44 +0200 Subject: [PATCH] api-macro: avoid duplicate output code While this is a tiny piece of code, having only one output code consisting of prepared parts is nicer to keep up to date. Signed-off-by: Wolfgang Bumiller --- proxmox-api-macro/src/api/method.rs | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/proxmox-api-macro/src/api/method.rs b/proxmox-api-macro/src/api/method.rs index 4ab9a712..9e997129 100644 --- a/proxmox-api-macro/src/api/method.rs +++ b/proxmox-api-macro/src/api/method.rs @@ -42,16 +42,13 @@ pub fn handle_method(mut attribs: JSONObject, mut func: syn::ItemFn) -> Result { let access = Access::try_from(access.into_object("access rules")?)?; - let description: Option = access.description; - let permission: syn::Expr = access.permission; - if let Some(description) = description { - quote_spanned! { access.span => - .access(Some(#description), #permission) - } - } else { - quote_spanned! { access.span => - .access(None, #permission) - } + let permission = access.permission; + let description = match access.description { + Some(desc) => quote_spanned! { desc.span() => Some(#desc) }, + None => quote_spanned! { access.span => None } + }; + quote_spanned! { access.span => + .access(#description, #permission) } } None => TokenStream::new(),