pub struct FunctionSignature {
pub min_arity: usize,
pub max_arity: Option<usize>,
}Expand description
Function signature metadata used by semantic validation.
Fields§
§min_arity: usizeMinimum number of positional arguments.
max_arity: Option<usize>Maximum number of positional arguments.
None means unbounded/variadic.
Implementations§
Source§impl FunctionSignature
impl FunctionSignature
Sourcepub const fn range(min_arity: usize, max_arity: usize) -> Self
pub const fn range(min_arity: usize, max_arity: usize) -> Self
Build a bounded arity range signature.
Sourcepub const fn variadic(min_arity: usize) -> Self
pub const fn variadic(min_arity: usize) -> Self
Build a variadic signature with a minimum arity.
Sourcepub fn matches_arity(&self, arity: usize) -> bool
pub fn matches_arity(&self, arity: usize) -> bool
Whether an observed arity matches this signature.
Sourcepub fn describe_arity(&self) -> String
pub fn describe_arity(&self) -> String
Render a human-readable arity descriptor.
Trait Implementations§
Source§impl Clone for FunctionSignature
impl Clone for FunctionSignature
Source§impl Debug for FunctionSignature
impl Debug for FunctionSignature
Source§impl<'de> Deserialize<'de> for FunctionSignature
impl<'de> Deserialize<'de> for FunctionSignature
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for FunctionSignature
Source§impl PartialEq for FunctionSignature
impl PartialEq for FunctionSignature
Source§impl Serialize for FunctionSignature
impl Serialize for FunctionSignature
impl StructuralPartialEq for FunctionSignature
Auto Trait Implementations§
impl Freeze for FunctionSignature
impl RefUnwindSafe for FunctionSignature
impl Send for FunctionSignature
impl Sync for FunctionSignature
impl Unpin for FunctionSignature
impl UnsafeUnpin for FunctionSignature
impl UnwindSafe for FunctionSignature
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