From 8c898f3766f893aa1f928a8726b87af10f407604 Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Tue, 19 Nov 2019 20:38:27 +0100 Subject: [PATCH] ruma-api-macros: Use syn::Path::is_ident --- ruma-api-macros/src/api.rs | 4 +--- ruma-api-macros/src/api/attribute.rs | 11 ++++------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/ruma-api-macros/src/api.rs b/ruma-api-macros/src/api.rs index 9ddb4b12..80cdf2b4 100644 --- a/ruma-api-macros/src/api.rs +++ b/ruma-api-macros/src/api.rs @@ -20,9 +20,7 @@ use self::{metadata::Metadata, request::Request, response::Response}; /// Removes `serde` attributes from struct fields. pub fn strip_serde_attrs(field: &Field) -> Field { let mut field = field.clone(); - field - .attrs - .retain(|attr| attr.path.segments.len() != 1 || attr.path.segments[0].ident != "serde"); + field.attrs.retain(|attr| attr.path.is_ident("serde")); field } diff --git a/ruma-api-macros/src/api/attribute.rs b/ruma-api-macros/src/api/attribute.rs index ffedffdd..d958ac13 100644 --- a/ruma-api-macros/src/api/attribute.rs +++ b/ruma-api-macros/src/api/attribute.rs @@ -29,13 +29,10 @@ impl Meta { /// /// Panics if the given attribute is a ruma_api attribute, but fails to parse. pub fn from_attribute(attr: &syn::Attribute) -> syn::Result> { - match &attr.path { - syn::Path { leading_colon: None, segments } - if segments.len() == 1 && segments[0].ident == "ruma_api" => - { - attr.parse_args().map(Some) - } - _ => Ok(None), + if attr.path.is_ident("ruma_api") { + attr.parse_args().map(Some) + } else { + Ok(None) } } }