pub struct Block {
pub brace_token: Brace,
pub stmts: Vec<Stmt>,
}
A braced block containing Rust statements.
This type is available if Syn is built with the "full"
feature.
Parse the body of a block as zero or more statements, possibly
including one trailing expression.
This function is available if Syn is built with the "parsing"
feature.
use syn::{braced, token, Attribute, Block, Ident, Result, Stmt, Token};
use syn::parse::{Parse, ParseStream};
struct MiniFunction {
attrs: Vec<Attribute>,
fn_token: Token![fn],
name: Ident,
brace_token: token::Brace,
stmts: Vec<Stmt>,
}
impl Parse for MiniFunction {
fn parse(input: ParseStream) -> Result<Self> {
let outer_attrs = input.call(Attribute::parse_outer)?;
let fn_token: Token![fn] = input.parse()?;
let name: Ident = input.parse()?;
let content;
let brace_token = braced!(content in input);
let inner_attrs = content.call(Attribute::parse_inner)?;
let stmts = content.call(Block::parse_within)?;
Ok(MiniFunction {
attrs: {
let mut attrs = outer_attrs;
attrs.extend(inner_attrs);
attrs
},
fn_token: fn_token,
name: name,
brace_token: brace_token,
stmts: stmts,
})
}
}
This method tests for self
and other
values to be equal, and is used by ==
. Read more
This method tests for !=
.
Performs copy-assignment from source
. Read more
Formats the value using the given formatter. Read more
Feeds this value into the given [Hasher
]. Read more
Feeds a slice of this type into the given [Hasher
]. Read more
Write self
to the given TokenStream
. Read more
Convert self
directly into a TokenStream
object. Read more
Returns a Span
covering the complete contents of this syntax tree node, or [Span::call_site()
] if this node is empty. Read more
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static