INNER CODE UNIT · Rust

attr_as_is_discard_punct_spans

intellij-rust/intellij-rust · testData/test-proc-macros/src/lib.rs:188

pub fn attr_as_is_discard_punct_spans(_attr: TokenStream, item: TokenStream) -> TokenStream {
    discard_punct_spans_stream(item)
}

fn discard_punct_spans_stream(ts: TokenStream) -> TokenStream {
    ts.into_iter().map(discard_punct_spans_tree).collect()
}

fn  discard_punct_spans_tree(tt: TokenTree) -> TokenTree {
    match tt {
        TokenTree::Group(g) => {
            let dg = Group::new(g.delimiter(), discard_punct_spans_stream(g.stream()));
            TokenTree::Group(dg)
        }
        TokenTree::Punct(p) => {
            TokenTree::Punct(Punct::new(p.as_char(), p.spacing()))
        }
        TokenTree::Ident(..) | TokenTree::Literal(..) => tt,

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…