[−][src]Struct codegen::Function
Defines a function.
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, 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::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::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
impl Send for Function
impl Sync for Function
impl Unpin for Function
impl UnwindSafe for Function
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,
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.
fn to_owned(&self) -> T
[src]
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.
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>,