Sha256: 45d0b691fab21f20d3414733f00d82845442d23b6f2547f8d6880a709d0d3b2a
Contents?: true
Size: 968 Bytes
Versions: 34
Compression:
Stored size: 968 Bytes
Contents
use proc_macro2::TokenStream; use quote::{ToTokens, TokenStreamExt}; use syn::parse::{Parse, ParseStream, Result}; use syn::{Attribute, Signature, Token, Visibility}; pub struct VerbatimFn { pub attrs: Vec<Attribute>, pub vis: Visibility, pub defaultness: Option<Token![default]>, pub sig: Signature, pub semi_token: Token![;], } impl Parse for VerbatimFn { fn parse(input: ParseStream) -> Result<Self> { Ok(VerbatimFn { attrs: input.call(Attribute::parse_outer)?, vis: input.parse()?, defaultness: input.parse()?, sig: input.parse()?, semi_token: input.parse()?, }) } } impl ToTokens for VerbatimFn { fn to_tokens(&self, tokens: &mut TokenStream) { tokens.append_all(&self.attrs); self.vis.to_tokens(tokens); self.defaultness.to_tokens(tokens); self.sig.to_tokens(tokens); self.semi_token.to_tokens(tokens); } }
Version data entries
34 entries across 34 versions & 1 rubygems