From cda842e46075fbb807125fc5358c5a28b820eb4b Mon Sep 17 00:00:00 2001 From: Kamen Mladenov Date: Thu, 16 Jan 2025 12:48:53 +0200 Subject: feat(guests_macro): Make split_fn remove -> from return type --- guests_macro/src/parse_fn.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'guests_macro/src/parse_fn.rs') diff --git a/guests_macro/src/parse_fn.rs b/guests_macro/src/parse_fn.rs index e78fb1b..1bcc3ba 100644 --- a/guests_macro/src/parse_fn.rs +++ b/guests_macro/src/parse_fn.rs @@ -1,7 +1,7 @@ use proc_macro::{ TokenStream, TokenTree, Delimiter, Spacing, Group }; /// Input: "fn name(...) -> ... { ... }" -/// Output: "name", "(...)", "-> ..." +/// Output: "name", "(...)", "..." pub fn split_fn(item: &TokenStream) -> (TokenStream, TokenStream, TokenStream) { let item = item.clone().into_iter(); @@ -22,6 +22,10 @@ pub fn split_fn(item: &TokenStream) -> (TokenStream, TokenStream, TokenStream) { TokenTree::Punct(ref punct) => { if punct.as_char() == '-' { out = &mut ret; + continue; + } + if punct.as_char() == '>' && out.is_empty() { + continue; } }, TokenTree::Group(ref group) => { -- cgit v1.2.3