pub struct FunctionValue {
pub name: Rc<String>,
pub params: Rc<Vec<(String, String)>>,
pub return_type: Rc<String>,
pub effects: Rc<Vec<String>>,
pub body: Rc<FnBody>,
pub resolution: Option<FnResolution>,
pub memo_eligible: bool,
pub home_globals: Option<Rc<HashMap<String, Value>>>,
/* private fields */
}Fields§
§name: Rc<String>§params: Rc<Vec<(String, String)>>§return_type: Rc<String>§effects: Rc<Vec<String>>§body: Rc<FnBody>§resolution: Option<FnResolution>Compile-time resolution metadata (slot layout for locals).
memo_eligible: boolTrue only for functions selected by compute_memo_fns in the
interpreter that defined them.
home_globals: Option<Rc<HashMap<String, Value>>>Optional function-specific global scope (used by imported module functions so they resolve names in their home module).
Trait Implementations§
Source§impl Clone for FunctionValue
impl Clone for FunctionValue
Source§fn clone(&self) -> FunctionValue
fn clone(&self) -> FunctionValue
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 moreAuto Trait Implementations§
impl Freeze for FunctionValue
impl RefUnwindSafe for FunctionValue
impl !Send for FunctionValue
impl !Sync for FunctionValue
impl Unpin for FunctionValue
impl UnsafeUnpin for FunctionValue
impl UnwindSafe for FunctionValue
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