pub struct LcnfFunDecl {
pub name: String,
pub original_name: Option<Name>,
pub params: Vec<LcnfParam>,
pub ret_type: LcnfType,
pub body: LcnfExpr,
pub is_recursive: bool,
pub is_lifted: bool,
pub inline_cost: usize,
}Expand description
A top-level function declaration in LCNF.
Fields§
§name: StringThe fully qualified name of this function.
original_name: Option<Name>The original kernel name.
params: Vec<LcnfParam>Parameters of this function.
ret_type: LcnfTypeReturn type.
body: LcnfExprThe function body in LCNF.
is_recursive: boolWhether this function is recursive.
is_lifted: boolWhether this function was lifted from a nested lambda.
inline_cost: usizeInlining cost heuristic (lower = more likely to inline).
Trait Implementations§
Source§impl Clone for LcnfFunDecl
impl Clone for LcnfFunDecl
Source§fn clone(&self) -> LcnfFunDecl
fn clone(&self) -> LcnfFunDecl
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LcnfFunDecl
impl Debug for LcnfFunDecl
Source§impl PartialEq for LcnfFunDecl
impl PartialEq for LcnfFunDecl
impl StructuralPartialEq for LcnfFunDecl
Auto Trait Implementations§
impl Freeze for LcnfFunDecl
impl RefUnwindSafe for LcnfFunDecl
impl Send for LcnfFunDecl
impl Sync for LcnfFunDecl
impl Unpin for LcnfFunDecl
impl UnsafeUnpin for LcnfFunDecl
impl UnwindSafe for LcnfFunDecl
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