Struct wdl_analysis::PolymorphicFunction
source · pub struct PolymorphicFunction { /* private fields */ }Expand description
Represents a polymorphic function.
In this context, a polymorphic function has more than one type (i.e. signature); overload resolution is used to determine which signature binds to the function call.
Implementations§
source§impl PolymorphicFunction
impl PolymorphicFunction
sourcepub fn new(
minimum_version: SupportedVersion,
signatures: Vec<FunctionSignature>,
) -> Self
pub fn new( minimum_version: SupportedVersion, signatures: Vec<FunctionSignature>, ) -> Self
sourcepub fn minimum_version(&self) -> SupportedVersion
pub fn minimum_version(&self) -> SupportedVersion
Gets the minimum supported WDL version for the function.
sourcepub fn signatures(&self) -> &[FunctionSignature]
pub fn signatures(&self) -> &[FunctionSignature]
Gets the signatures of the function.
Trait Implementations§
source§impl Debug for PolymorphicFunction
impl Debug for PolymorphicFunction
source§impl From<PolymorphicFunction> for Function
impl From<PolymorphicFunction> for Function
source§fn from(value: PolymorphicFunction) -> Self
fn from(value: PolymorphicFunction) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for PolymorphicFunction
impl !RefUnwindSafe for PolymorphicFunction
impl Send for PolymorphicFunction
impl Sync for PolymorphicFunction
impl Unpin for PolymorphicFunction
impl !UnwindSafe for PolymorphicFunction
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
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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