pub struct InferredType {
pub inner: Box<TypeInternal>,
pub origin: TypeOrigin,
}Fields§
§inner: Box<TypeInternal>§origin: TypeOriginImplementations§
Source§impl InferredType
impl InferredType
pub fn originated_at(&self, source_span: &SourceSpan) -> InferredType
pub fn origin(&self) -> TypeOrigin
pub fn source_span(&self) -> Option<SourceSpan>
pub fn as_number(&self) -> Result<InferredNumber, String>
pub fn bool() -> InferredType
pub fn char() -> InferredType
pub fn contains_only_number(&self) -> bool
pub fn declared_at(&self, source_span: SourceSpan) -> InferredType
pub fn as_default(&self, default_type: DefaultType) -> InferredType
pub fn enum_(cases: Vec<String>) -> InferredType
pub fn f32() -> InferredType
pub fn f64() -> InferredType
pub fn flags(flags: Vec<String>) -> InferredType
pub fn instance(instance_type: InstanceType) -> InferredType
pub fn internal_type(&self) -> &TypeInternal
pub fn internal_type_mut(&mut self) -> &mut TypeInternal
pub fn list(inner: InferredType) -> InferredType
pub fn new(inferred_type: TypeInternal, origin: TypeOrigin) -> InferredType
pub fn option(inner: InferredType) -> InferredType
pub fn range(from: InferredType, to: Option<InferredType>) -> InferredType
pub fn eliminate_default( inferred_types: Vec<&InferredType>, ) -> Vec<&InferredType>
pub fn record(fields: Vec<(String, InferredType)>) -> InferredType
pub fn resolved(inferred_type: TypeInternal) -> InferredType
pub fn resource( resource_id: u64, resource_mode: u8, owner: Option<String>, name: Option<String>, ) -> InferredType
pub fn result( ok: Option<InferredType>, error: Option<InferredType>, ) -> InferredType
pub fn sequence(inferred_types: Vec<InferredType>) -> InferredType
pub fn string() -> InferredType
pub fn s8() -> InferredType
pub fn s16() -> InferredType
pub fn s32() -> InferredType
pub fn s64() -> InferredType
pub fn tuple(inner: Vec<InferredType>) -> InferredType
pub fn u8() -> InferredType
pub fn unit() -> InferredType
pub fn unknown() -> InferredType
pub fn u16() -> InferredType
pub fn u32() -> InferredType
pub fn u64() -> InferredType
pub fn variant(fields: Vec<(String, Option<InferredType>)>) -> InferredType
pub fn override_origin(&self, origin: TypeOrigin) -> InferredType
pub fn add_origin(&self, origin: TypeOrigin) -> InferredType
pub fn add_origin_mut(&mut self, origin: TypeOrigin)
pub fn without_origin(inferred_type: TypeInternal) -> InferredType
pub fn printable(&self) -> String
pub fn all_of(types: Vec<InferredType>) -> InferredType
pub fn is_unit(&self) -> bool
pub fn is_unknown(&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 unify(&self) -> Result<InferredType, UnificationFailureInternal>
pub fn merge(&self, new_inferred_type: InferredType) -> InferredType
pub fn from_type_variant(type_variant: &TypeVariant) -> InferredType
pub fn from_variant_cases( cases: Vec<(String, Option<InferredType>)>, ) -> 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 duplicate 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<&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<&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<&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 GetTypeHint for InferredType
impl GetTypeHint for InferredType
fn get_type_hint(&self) -> TypeHint
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 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<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