[−][src]Struct codegen_rs::Function
Defines a function.
Fields
body: Option<Vec<Body>>
Body contents
Implementations
impl Function
[src]
pub fn new(name: &str) -> Self
[src]
Return a new function definition.
pub fn doc(&mut self, docs: &str) -> &mut Self
[src]
Set the function documentation.
pub fn allow(&mut self, allow: &str) -> &mut Self
[src]
Specify lint attribute to supress a warning or error.
pub fn vis(&mut self, vis: &str) -> &mut Self
[src]
Set the function visibility.
pub fn set_async(&mut self, r#async: bool) -> &mut Self
[src]
Set whether this function is async or not
pub fn generic(&mut self, name: &str) -> &mut Self
[src]
Add a generic to the function.
pub fn arg_self(&mut self) -> &mut Self
[src]
Add self
as a function argument.
pub fn arg_ref_self(&mut self) -> &mut Self
[src]
Add &self
as a function argument.
pub fn arg_mut_self(&mut self) -> &mut Self
[src]
Add &mut self
as a function argument.
pub fn arg<T>(&mut self, name: &str, ty: T) -> &mut Self where
T: Into<Type>,
[src]
T: Into<Type>,
Add a function argument.
pub fn ret<T>(&mut self, ty: T) -> &mut Self where
T: Into<Type>,
[src]
T: Into<Type>,
Set the function return type.
pub fn bound<T>(&mut self, name: &str, ty: T) -> &mut Self where
T: Into<Type>,
[src]
T: Into<Type>,
Add a where
bound to the function.
pub fn line<T>(&mut self, line: T) -> &mut Self where
T: ToString,
[src]
T: ToString,
Push a line to the function implementation.
pub fn attr(&mut self, attribute: &str) -> &mut Self
[src]
Add an attribute to the function.
use codegen_rs::Function; let mut func = Function::new("test"); // add a `#[test]` attribute func.attr("test");
pub fn extern_abi(&mut self, abi: &str) -> &mut Self
[src]
Specify an extern
ABI for the function.
use codegen_rs::Function; let mut extern_func = Function::new("extern_func"); // use the "C" calling convention extern_func.extern_abi("C");
pub fn push_block(&mut self, block: Block) -> &mut Self
[src]
Push a block to the function implementation
pub fn fmt(&self, is_trait: bool, fmt: &mut Formatter<'_>) -> Result
[src]
Formats the function using the given formatter.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Function
[src]
impl Send for Function
[src]
impl Sync for Function
[src]
impl Unpin for Function
[src]
impl UnwindSafe for Function
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,