#[non_exhaustive]pub struct ProcedureDef {
pub name: Identifier,
pub accessor_name: Identifier,
pub params: ProductType,
pub params_for_generate: ProductTypeDef,
pub return_type: AlgebraicType,
pub return_type_for_generate: AlgebraicTypeUse,
pub visibility: FunctionVisibility,
}Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: IdentifierThe name of the procedure.
This must be unique within the module’s set of reducers and procedures.
accessor_name: IdentifierThe procedure name as defined in the module source.
Similar to [ReducerDef.accessor_name].
params: ProductTypeThe parameters of the procedure.
This ProductType need not be registered in the module’s Typespace.
params_for_generate: ProductTypeDefThe parameters of the procedure, formatted for client codegen.
This ProductType need not be registered in the module’s TypespaceForGenerate.
return_type: AlgebraicTypeThe return type of the procedure.
If this is a non-special compound type, it should be registered in the module’s Typespace
and indirected through an AlgebraicType::Ref.
return_type_for_generate: AlgebraicTypeUseThe return type of the procedure.
If this is a non-special compound type, it should be registered in the module’s TypespaceForGenerate
and indirected through an AlgebraicTypeUse::Ref.
visibility: FunctionVisibilityThe visibility of this procedure.
Trait Implementations§
Source§impl Clone for ProcedureDef
impl Clone for ProcedureDef
Source§fn clone(&self) -> ProcedureDef
fn clone(&self) -> ProcedureDef
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProcedureDef
impl Debug for ProcedureDef
Source§impl From<ProcedureDef> for RawMiscModuleExportV9
impl From<ProcedureDef> for RawMiscModuleExportV9
Source§fn from(def: ProcedureDef) -> Self
fn from(def: ProcedureDef) -> Self
Source§impl From<ProcedureDef> for RawProcedureDefV10
impl From<ProcedureDef> for RawProcedureDefV10
Source§fn from(val: ProcedureDef) -> Self
fn from(val: ProcedureDef) -> Self
Source§impl From<ProcedureDef> for RawProcedureDefV9
impl From<ProcedureDef> for RawProcedureDefV9
Source§fn from(val: ProcedureDef) -> Self
fn from(val: ProcedureDef) -> Self
Source§impl FunctionDef for ProcedureDef
impl FunctionDef for ProcedureDef
fn params(&self) -> &ProductType
fn name(&self) -> &Identifier
Source§impl ModuleDefLookup for ProcedureDef
impl ModuleDefLookup for ProcedureDef
Source§type Key<'a> = &'a Identifier
type Key<'a> = &'a Identifier
Source§impl PartialEq for ProcedureDef
impl PartialEq for ProcedureDef
impl Eq for ProcedureDef
impl StructuralPartialEq for ProcedureDef
Auto Trait Implementations§
impl Freeze for ProcedureDef
impl RefUnwindSafe for ProcedureDef
impl Send for ProcedureDef
impl Sync for ProcedureDef
impl Unpin for ProcedureDef
impl UnsafeUnpin for ProcedureDef
impl UnwindSafe for ProcedureDef
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more