Struct ezno_checker::types::functions::FunctionType
source · pub struct FunctionType {
pub id: FunctionId,
pub constant_function: Option<String>,
pub behavior: FunctionBehavior,
pub type_parameters: Option<GenericTypeParameters>,
pub parameters: SynthesisedParameters,
pub return_type: TypeId,
pub effects: Vec<Event>,
pub free_variables: HashMap<RootReference, TypeId>,
pub closed_over_variables: HashMap<RootReference, TypeId>,
}Expand description
This is a mesh of annotation and actually defined functions
Fields§
§id: FunctionIdSyntax defined pointer
constant_function: Option<String>§behavior: FunctionBehaviorIf async, generator and what to do with this
type_parameters: Option<GenericTypeParameters>TODO not sure about this field and how it tails with Pi Types
parameters: SynthesisedParameters§return_type: TypeIdThis is just aesthetic TODO also throw
effects: Vec<Event>Side effects of the function
free_variables: HashMap<RootReference, TypeId>Things that this function pulls in. Converse of closed over which is where results below use variables in this scope.
closed_over_variables: HashMap<RootReference, TypeId>References it needs to retain for returning / other effects where things go out.
The type is the initial value of the closure variable when this is called
Trait Implementations§
source§impl Clone for FunctionType
impl Clone for FunctionType
source§fn clone(&self) -> FunctionType
fn clone(&self) -> FunctionType
Returns a copy 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 RefUnwindSafe for FunctionType
impl Send for FunctionType
impl Sync for FunctionType
impl Unpin for FunctionType
impl UnwindSafe for FunctionType
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