Struct wdl_analysis::PairType
source · pub struct PairType { /* private fields */ }Expand description
Represents the type of a Pair.
Implementations§
source§impl PairType
impl PairType
sourcepub fn new(first_type: impl Into<Type>, second_type: impl Into<Type>) -> Self
pub fn new(first_type: impl Into<Type>, second_type: impl Into<Type>) -> Self
Constructs a new pair type.
sourcepub fn from_ast_v1<F>(
types: &mut Types,
ty: PairType,
lookup: &F,
) -> Result<Self, Diagnostic>
pub fn from_ast_v1<F>( types: &mut Types, ty: PairType, lookup: &F, ) -> Result<Self, Diagnostic>
Creates a new pair type from an V1 AST representation of a pair type.
If a type could not created, an error with the relevant diagnostic is returned.
sourcepub fn first_type(&self) -> Type
pub fn first_type(&self) -> Type
Gets the pairs’s first type.
sourcepub fn second_type(&self) -> Type
pub fn second_type(&self) -> Type
Gets the pairs’s second type.
Trait Implementations§
source§impl Coercible for PairType
impl Coercible for PairType
source§fn is_coercible_to(&self, types: &Types, target: &Self) -> bool
fn is_coercible_to(&self, types: &Types, target: &Self) -> bool
Determines if the type is coercible to the target type.
source§impl From<PairType> for CompoundTypeDef
impl From<PairType> for CompoundTypeDef
impl Copy for PairType
impl Eq for PairType
impl StructuralPartialEq for PairType
Auto Trait Implementations§
impl Freeze for PairType
impl RefUnwindSafe for PairType
impl Send for PairType
impl Sync for PairType
impl Unpin for PairType
impl UnwindSafe for PairType
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
Compare self to
key and return true if they are equal.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