pub enum InferredType {
Show 28 variants
Bool,
S8,
U8,
S16,
U16,
S32,
U32,
S64,
U64,
F32,
F64,
Chr,
Str,
List(Box<InferredType>),
Tuple(Vec<InferredType>),
Record(Vec<(String, InferredType)>),
Flags(Vec<String>),
Enum(Vec<String>),
Option(Box<InferredType>),
Result {
ok: Option<Box<InferredType>>,
error: Option<Box<InferredType>>,
},
Variant(Vec<(String, Option<InferredType>)>),
Resource {
resource_id: u64,
resource_mode: u8,
},
Range {
from: Box<InferredType>,
to: Option<Box<InferredType>>,
},
Instance {
instance_type: Box<InstanceType>,
},
OneOf(Vec<InferredType>),
AllOf(Vec<InferredType>),
Unknown,
Sequence(Vec<InferredType>),
}Variants§
Bool
S8
U8
S16
U16
S32
U32
S64
U64
F32
F64
Chr
Str
List(Box<InferredType>)
Tuple(Vec<InferredType>)
Record(Vec<(String, InferredType)>)
Flags(Vec<String>)
Enum(Vec<String>)
Option(Box<InferredType>)
Result
Variant(Vec<(String, Option<InferredType>)>)
Resource
Range
Instance
Fields
§
instance_type: Box<InstanceType>OneOf(Vec<InferredType>)
AllOf(Vec<InferredType>)
Unknown
Sequence(Vec<InferredType>)
Implementations§
Source§impl InferredType
impl InferredType
pub fn printable(&self) -> String
pub fn contains_only_number(&self) -> bool
pub fn as_number(&self) -> Result<InferredNumber, String>
pub fn number() -> InferredType
pub fn un_resolved(&self) -> bool
pub fn all_of(types: Vec<InferredType>) -> Option<InferredType>
pub fn one_of(types: Vec<InferredType>) -> Option<InferredType>
pub fn is_unit(&self) -> bool
pub fn is_unknown(&self) -> bool
pub fn is_one_of(&self) -> bool
pub fn is_valid_wit_type(&self) -> bool
pub fn is_all_of(&self) -> bool
pub fn is_number(&self) -> bool
pub fn is_string(&self) -> bool
pub fn flatten_all_of_inferred_types( types: &Vec<InferredType>, ) -> Vec<InferredType>
pub fn flatten_one_of_inferred_types( types: &Vec<InferredType>, ) -> Vec<InferredType>
pub fn try_unify(&self) -> Result<InferredType, String>
pub fn unify(&self) -> Result<InferredType, String>
pub fn unify_all_alternative_types(types: &Vec<InferredType>) -> InferredType
pub fn unify_all_required_types( types: &Vec<InferredType>, ) -> Result<InferredType, String>
pub fn unify_with_required( &self, other: &InferredType, ) -> Result<InferredType, String>
pub fn unify_with_alternative( &self, other: &InferredType, ) -> Result<InferredType, String>
pub fn merge(&self, new_inferred_type: InferredType) -> InferredType
pub fn from_variant_cases(type_variant: &TypeVariant) -> InferredType
pub fn from_enum_cases(type_enum: &TypeEnum) -> InferredType
Trait Implementations§
Source§impl Clone for InferredType
impl Clone for InferredType
Source§fn clone(&self) -> InferredType
fn clone(&self) -> InferredType
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 moreSource§impl Debug for InferredType
impl Debug for InferredType
Source§impl From<&BigDecimal> for InferredType
impl From<&BigDecimal> for InferredType
Source§fn from(value: &BigDecimal) -> Self
fn from(value: &BigDecimal) -> Self
Converts to this type from the input type.
Source§impl From<AnalysedType> for InferredType
impl From<AnalysedType> for InferredType
Source§fn from(analysed_type: AnalysedType) -> Self
fn from(analysed_type: AnalysedType) -> Self
Converts to this type from the input type.
Source§impl From<InferredNumber> for InferredType
impl From<InferredNumber> for InferredType
Source§fn from(inferred_number: InferredNumber) -> Self
fn from(inferred_number: InferredNumber) -> Self
Converts to this type from the input type.
Source§impl From<TypeName> for InferredType
impl From<TypeName> for InferredType
Source§impl Hash for InferredType
impl Hash for InferredType
Source§impl Ord for InferredType
impl Ord for InferredType
Source§fn cmp(&self, other: &InferredType) -> Ordering
fn cmp(&self, other: &InferredType) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for InferredType
impl PartialEq for InferredType
Source§impl PartialOrd for InferredType
impl PartialOrd for InferredType
Source§impl TryFrom<&InferredType> for AnalysedType
impl TryFrom<&InferredType> for AnalysedType
Source§impl TryFrom<&InferredType> for AnalysedTypeWithUnit
impl TryFrom<&InferredType> for AnalysedTypeWithUnit
Source§impl TryFrom<InferredType> for AnalysedType
impl TryFrom<InferredType> for AnalysedType
Source§impl TryFrom<InferredType> for TypeName
impl TryFrom<InferredType> for TypeName
impl Eq for InferredType
Auto Trait Implementations§
impl Freeze for InferredType
impl RefUnwindSafe for InferredType
impl Send for InferredType
impl Sync for InferredType
impl Unpin for InferredType
impl UnwindSafe for InferredType
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§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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<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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request