INNER CODE UNIT · Rust
find_name
bheisler/criterion.rs · macro/src/lib.rs:40
fn find_name(stream: proc_macro2::TokenStream) -> Ident {
let mut iter = stream.into_iter();
while let Some(tok) = iter.next() {
if let TokenTree::Ident(ident) = tok {
if ident == "fn" {
break;
}
}
}
if let Some(TokenTree::Ident(name)) = iter.next() {
name
}
else {
panic!("Unable to find function name")
}
}