diff options
Diffstat (limited to 'mingling_pathf/src/patterns/pack.rs')
| -rw-r--r-- | mingling_pathf/src/patterns/pack.rs | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/mingling_pathf/src/patterns/pack.rs b/mingling_pathf/src/patterns/pack.rs index 76597ba..e5e14e6 100644 --- a/mingling_pathf/src/patterns/pack.rs +++ b/mingling_pathf/src/patterns/pack.rs @@ -84,23 +84,20 @@ fn try_extract_pack_name(m: &syn::ItemMacro) -> Option<String> { // Skip leading attributes/doc comments loop { - match iter.next()? { - proc_macro2::TokenTree::Ident(ident) => { - // Found the first ident, this is the type name - let type_name = ident.to_string(); - - // Check if `=` follows - if let Some(proc_macro2::TokenTree::Punct(p)) = iter.next() - && p.as_char() == '=' - { - // pack!(TypeName = InnerType) - return Some(type_name); - } - - // pack_err!(TypeName) — only a single ident + if let proc_macro2::TokenTree::Ident(ident) = iter.next()? { + // Found the first ident, this is the type name + let type_name = ident.to_string(); + + // Check if `=` follows + if let Some(proc_macro2::TokenTree::Punct(p)) = iter.next() + && p.as_char() == '=' + { + // pack!(TypeName = InnerType) return Some(type_name); } - _ => continue, + + // pack_err!(TypeName) — only a single ident + return Some(type_name); } } } |
