pub struct Function {Show 13 fields
pub attributes: Vec<Attribute>,
pub vis_marker: Option<VisMarker>,
pub qualifiers: FnQualifiers,
pub tk_fn_keyword: Ident,
pub name: Ident,
pub generic_params: Option<GenericParamList>,
pub tk_params_parens: GroupSpan,
pub params: Punctuated<FnParam>,
pub where_clause: Option<WhereClause>,
pub tk_return_arrow: Option<[Punct; 2]>,
pub return_ty: Option<TypeExpr>,
pub tk_semicolon: Option<Punct>,
pub body: Option<Group>,
}Expand description
Declaration of a function.
See also https://doc.rust-lang.org/reference/items/functions.html.
Example input:
const fn hello(a: i32, b: f32) -> f32 { return 0.0; }
unsafe fn eval(c: String, b: i32) { return; }
fn do_thing<T: Clone>(t: T) where T: Default;Fields§
§attributes: Vec<Attribute>§vis_marker: Option<VisMarker>§qualifiers: FnQualifiers§tk_fn_keyword: Ident§name: Ident§generic_params: Option<GenericParamList>§tk_params_parens: GroupSpan§params: Punctuated<FnParam>§where_clause: Option<WhereClause>§tk_return_arrow: Option<[Punct; 2]>§return_ty: Option<TypeExpr>§tk_semicolon: Option<Punct>§body: Option<Group>Implementations§
Trait Implementations§
Source§impl ToTokens for Function
impl ToTokens for Function
Source§fn to_tokens(&self, tokens: &mut TokenStream)
fn to_tokens(&self, tokens: &mut TokenStream)
Source§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
Source§fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
Auto Trait Implementations§
impl Freeze for Function
impl RefUnwindSafe for Function
impl !Send for Function
impl !Sync for Function
impl Unpin for Function
impl UnwindSafe for Function
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more