Domain

Enum Domain 

Source
pub enum Domain {
    Ground(Moo<GroundDomain>),
    Unresolved(Moo<UnresolvedDomain>),
}

Variants§

§

Ground(Moo<GroundDomain>)

A fully resolved domain

§

Unresolved(Moo<UnresolvedDomain>)

A domain which may contain references

Implementations§

Source§

impl Domain

Source

pub fn bool() -> DomainPtr

Create a new boolean domain and return a pointer to it. Boolean domains are always ground (see GroundDomain::Bool).

Source

pub fn empty(ty: ReturnType) -> DomainPtr

Create a new empty domain of the given type and return a pointer to it. Empty domains are always ground (see GroundDomain::Empty).

Source

pub fn int<T>(ranges: Vec<T>) -> DomainPtr
where T: Into<Range<IntVal>> + TryInto<Range<i32>> + Clone,

Create a new int domain with the given ranges. If the ranges are all ground, the variant will be GroundDomain::Int. Otherwise, it will be UnresolvedDomain::Int.

Source

pub fn int_ground(ranges: Vec<Range<i32>>) -> DomainPtr

Create a new ground integer domain with the given ranges

Source

pub fn set<T>(attr: T, inner_dom: DomainPtr) -> DomainPtr

Create a new set domain with the given element domain and attributes. If the element domain and the attributes are ground, the variant will be GroundDomain::Set. Otherwise, it will be UnresolvedDomain::Set.

Source

pub fn matrix(inner_dom: DomainPtr, idx_doms: Vec<DomainPtr>) -> DomainPtr

Create a new matrix domain with the given element domain and index domains. If the given domains are all ground, the variant will be GroundDomain::Matrix. Otherwise, it will be UnresolvedDomain::Matrix.

Source

pub fn tuple(inner_doms: Vec<DomainPtr>) -> DomainPtr

Create a new tuple domain with the given element domains. If the given domains are all ground, the variant will be GroundDomain::Tuple. Otherwise, it will be UnresolvedDomain::Tuple.

Source

pub fn record(entries: Vec<RecordEntry>) -> DomainPtr

Create a new tuple domain with the given entries. If the entries are all ground, the variant will be GroundDomain::Record. Otherwise, it will be UnresolvedDomain::Record.

Source

pub fn reference(ptr: DeclarationPtr) -> Option<DomainPtr>

Create a new UnresolvedDomain::Reference domain from a domain letting

Source

pub fn function<T>(attrs: T, dom: DomainPtr, cdom: DomainPtr) -> DomainPtr

Create a new function domain

Source

pub fn resolve(&self) -> Option<Moo<GroundDomain>>

If this domain is ground, return a Moo to the underlying GroundDomain. Otherwise, try to resolve it; Return None if this is not yet possible. Domains which contain references to givens cannot be resolved until these givens are substituted for their concrete values.

Source

pub fn as_ground(&self) -> Option<&GroundDomain>

If this domain is already ground, return a reference to the underlying GroundDomain. Otherwise, return None. This method does NOT perform any resolution. See also: Domain::resolve.

Source

pub fn as_ground_mut(&mut self) -> Option<&mut GroundDomain>

If this domain is already ground, return a mutable reference to the underlying GroundDomain. Otherwise, return None. This method does NOT perform any resolution.

Source

pub fn as_unresolved(&self) -> Option<&UnresolvedDomain>

If this domain is unresolved, return a reference to the underlying UnresolvedDomain.

Source

pub fn as_unresolved_mut(&mut self) -> Option<&mut UnresolvedDomain>

If this domain is unresolved, return a mutable reference to the underlying UnresolvedDomain.

Source

pub fn as_dom_empty(&self) -> Option<&ReturnType>

If this is [GroundDomain::Empty(ty)], get a reference to the return type ty

Source

pub fn as_dom_empty_mut(&mut self) -> Option<&mut ReturnType>

If this is [GroundDomain::Empty(ty)], get a mutable reference to the return type ty

Source

pub fn is_bool(&self) -> bool

True if this is GroundDomain::Bool

Source

pub fn is_int(&self) -> bool

True if this is a GroundDomain::Int or an UnresolvedDomain::Int

Source

pub fn as_int(&self) -> Option<Vec<Range<IntVal>>>

If this domain is GroundDomain::Int or [UnresolveDomain::Int], get its ranges. The ranges are cloned and upcast to Range if necessary.

Source

pub fn as_int_mut(&mut self) -> Option<&mut Vec<Range<IntVal>>>

If this is an int domain, get a mutable reference to its ranges. The domain always becomes UnresolvedDomain::Int after this operation.

Source

pub fn as_int_ground(&self) -> Option<&Vec<Range<i32>>>

If this is a [GroundDomain::Int(rngs)], get an immutable reference to rngs.

Source

pub fn as_int_ground_mut(&mut self) -> Option<&mut Vec<Range<i32>>>

If this is a [GroundDomain::Int(rngs)], get an immutable reference to rngs.

Source

pub fn as_matrix(&self) -> Option<(DomainPtr, Vec<DomainPtr>)>

If this is a matrix domain, get pointers to its element domain and index domains.

Source

pub fn as_matrix_mut(&mut self) -> Option<(&mut DomainPtr, &mut Vec<DomainPtr>)>

If this is a matrix domain, get mutable references to its element domain and its vector of index domains. The domain always becomes UnresolvedDomain::Matrix after this operation.

Source

pub fn as_matrix_ground( &self, ) -> Option<(&Moo<GroundDomain>, &Vec<Moo<GroundDomain>>)>

If this is a GroundDomain::Matrix, get immutable references to its element and index domains

Source

pub fn as_matrix_ground_mut( &mut self, ) -> Option<(&mut Moo<GroundDomain>, &mut Vec<Moo<GroundDomain>>)>

If this is a GroundDomain::Matrix, get mutable references to its element and index domains

Source

pub fn as_set(&self) -> Option<(SetAttr<IntVal>, DomainPtr)>

If this is a set domain, get its attributes and a pointer to its element domain.

Source

pub fn as_set_mut(&mut self) -> Option<(&mut SetAttr<IntVal>, &mut DomainPtr)>

If this is a set domain, get mutable reference to its attributes and element domain. The domain always becomes UnresolvedDomain::Set after this operation.

Source

pub fn as_set_ground(&self) -> Option<(&SetAttr<i32>, &Moo<GroundDomain>)>

If this is a GroundDomain::Set, get immutable references to its attributes and inner domain

Source

pub fn as_set_ground_mut( &mut self, ) -> Option<(&mut SetAttr<i32>, &mut Moo<GroundDomain>)>

If this is a GroundDomain::Set, get mutable references to its attributes and inner domain

Source

pub fn as_tuple(&self) -> Option<Vec<DomainPtr>>

If this is a tuple domain, get pointers to its element domains.

Source

pub fn as_tuple_mut(&mut self) -> Option<&mut Vec<DomainPtr>>

If this is a tuple domain, get a mutable reference to its vector of element domains. The domain always becomes UnresolvedDomain::Tuple after this operation.

Source

pub fn as_tuple_ground(&self) -> Option<&Vec<Moo<GroundDomain>>>

If this is a GroundDomain::Tuple, get immutable references to its element domains

Source

pub fn as_tuple_ground_mut(&mut self) -> Option<&mut Vec<Moo<GroundDomain>>>

If this is a GroundDomain::Tuple, get mutable reference to its element domains

Source

pub fn as_record(&self) -> Option<Vec<RecordEntry>>

If this is a record domain, clone and return its entries.

Source

pub fn as_record_ground(&self) -> Option<&Vec<RecordEntryGround>>

If this is a GroundDomain::Record, get a mutable reference to its entries

Source

pub fn as_record_mut(&mut self) -> Option<&mut Vec<RecordEntry>>

If this is a record domain, get a mutable reference to its list of entries. The domain always becomes UnresolvedDomain::Record after this operation.

Source

pub fn as_record_ground_mut(&mut self) -> Option<&mut Vec<RecordEntryGround>>

If this is a GroundDomain::Record, get a mutable reference to its entries

Source

pub fn union(&self, other: &Domain) -> Result<Domain, DomainOpError>

Compute the intersection of two domains

Source

pub fn intersect(&self, other: &Domain) -> Result<Domain, DomainOpError>

Compute the intersection of two ground domains

Source

pub fn values(&self) -> Result<impl Iterator<Item = Literal>, DomainOpError>

If the domain is ground, return an iterator over its values

Source

pub fn length(&self) -> Result<u64, DomainOpError>

If the domain is ground, return its size bound

Source

pub fn from_literal_vec(vals: &[Literal]) -> Result<DomainPtr, DomainOpError>

Construct a ground domain from a slice of values

Source

pub fn contains(&self, lit: &Literal) -> Result<bool, DomainOpError>

Returns true if lit is a valid value of this domain

Trait Implementations§

Source§

impl Biplate<Domain> for Domain

Source§

fn biplate(&self) -> (Tree<Domain>, Box<dyn Fn(Tree<Domain>) -> Domain>)

Definition of a Biplate. Read more
§

fn with_children_bi(&self, children: VecDeque<To>) -> Self

Reconstructs the node with the given children. Read more
§

fn descend_bi(&self, op: &impl Fn(To) -> To) -> Self

Biplate variant of [Uniplate::descend] Read more
§

fn universe_bi(&self) -> VecDeque<To>

Gets all children of a node, including itself and all children. Read more
§

fn children_bi(&self) -> VecDeque<To>

Returns the children of a type. If to == from then it returns the original element (in contrast to children). Read more
§

fn transform_bi(&self, op: &impl Fn(To) -> To) -> Self

Applies the given function to all nodes bottom up. Read more
§

fn holes_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over all direct children of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
§

fn contexts_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over the universe of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
Source§

impl Biplate<Expression> for Domain

Source§

fn biplate(&self) -> (Tree<Expression>, Box<dyn Fn(Tree<Expression>) -> Domain>)

Definition of a Biplate. Read more
§

fn with_children_bi(&self, children: VecDeque<To>) -> Self

Reconstructs the node with the given children. Read more
§

fn descend_bi(&self, op: &impl Fn(To) -> To) -> Self

Biplate variant of [Uniplate::descend] Read more
§

fn universe_bi(&self) -> VecDeque<To>

Gets all children of a node, including itself and all children. Read more
§

fn children_bi(&self) -> VecDeque<To>

Returns the children of a type. If to == from then it returns the original element (in contrast to children). Read more
§

fn transform_bi(&self, op: &impl Fn(To) -> To) -> Self

Applies the given function to all nodes bottom up. Read more
§

fn holes_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over all direct children of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
§

fn contexts_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over the universe of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
Source§

impl Biplate<GroundDomain> for Domain

Source§

fn biplate( &self, ) -> (Tree<GroundDomain>, Box<dyn Fn(Tree<GroundDomain>) -> Domain>)

Definition of a Biplate. Read more
§

fn with_children_bi(&self, children: VecDeque<To>) -> Self

Reconstructs the node with the given children. Read more
§

fn descend_bi(&self, op: &impl Fn(To) -> To) -> Self

Biplate variant of [Uniplate::descend] Read more
§

fn universe_bi(&self) -> VecDeque<To>

Gets all children of a node, including itself and all children. Read more
§

fn children_bi(&self) -> VecDeque<To>

Returns the children of a type. If to == from then it returns the original element (in contrast to children). Read more
§

fn transform_bi(&self, op: &impl Fn(To) -> To) -> Self

Applies the given function to all nodes bottom up. Read more
§

fn holes_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over all direct children of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
§

fn contexts_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over the universe of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
Source§

impl Biplate<IntVal> for Domain

Source§

fn biplate(&self) -> (Tree<IntVal>, Box<dyn Fn(Tree<IntVal>) -> Domain>)

Definition of a Biplate. Read more
§

fn with_children_bi(&self, children: VecDeque<To>) -> Self

Reconstructs the node with the given children. Read more
§

fn descend_bi(&self, op: &impl Fn(To) -> To) -> Self

Biplate variant of [Uniplate::descend] Read more
§

fn universe_bi(&self) -> VecDeque<To>

Gets all children of a node, including itself and all children. Read more
§

fn children_bi(&self) -> VecDeque<To>

Returns the children of a type. If to == from then it returns the original element (in contrast to children). Read more
§

fn transform_bi(&self, op: &impl Fn(To) -> To) -> Self

Applies the given function to all nodes bottom up. Read more
§

fn holes_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over all direct children of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
§

fn contexts_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over the universe of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
Source§

impl Biplate<Moo<Domain>> for Domain

Source§

fn biplate(&self) -> (Tree<DomainPtr>, Box<dyn Fn(Tree<DomainPtr>) -> Domain>)

Definition of a Biplate. Read more
§

fn with_children_bi(&self, children: VecDeque<To>) -> Self

Reconstructs the node with the given children. Read more
§

fn descend_bi(&self, op: &impl Fn(To) -> To) -> Self

Biplate variant of [Uniplate::descend] Read more
§

fn universe_bi(&self) -> VecDeque<To>

Gets all children of a node, including itself and all children. Read more
§

fn children_bi(&self) -> VecDeque<To>

Returns the children of a type. If to == from then it returns the original element (in contrast to children). Read more
§

fn transform_bi(&self, op: &impl Fn(To) -> To) -> Self

Applies the given function to all nodes bottom up. Read more
§

fn holes_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over all direct children of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
§

fn contexts_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over the universe of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
Source§

impl Biplate<RecordEntry> for Domain

Source§

fn biplate( &self, ) -> (Tree<RecordEntry>, Box<dyn Fn(Tree<RecordEntry>) -> Domain>)

Definition of a Biplate. Read more
§

fn with_children_bi(&self, children: VecDeque<To>) -> Self

Reconstructs the node with the given children. Read more
§

fn descend_bi(&self, op: &impl Fn(To) -> To) -> Self

Biplate variant of [Uniplate::descend] Read more
§

fn universe_bi(&self) -> VecDeque<To>

Gets all children of a node, including itself and all children. Read more
§

fn children_bi(&self) -> VecDeque<To>

Returns the children of a type. If to == from then it returns the original element (in contrast to children). Read more
§

fn transform_bi(&self, op: &impl Fn(To) -> To) -> Self

Applies the given function to all nodes bottom up. Read more
§

fn holes_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over all direct children of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
§

fn contexts_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over the universe of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
Source§

impl Biplate<Reference> for Domain

Source§

fn biplate(&self) -> (Tree<Reference>, Box<dyn Fn(Tree<Reference>) -> Domain>)

Definition of a Biplate. Read more
§

fn with_children_bi(&self, children: VecDeque<To>) -> Self

Reconstructs the node with the given children. Read more
§

fn descend_bi(&self, op: &impl Fn(To) -> To) -> Self

Biplate variant of [Uniplate::descend] Read more
§

fn universe_bi(&self) -> VecDeque<To>

Gets all children of a node, including itself and all children. Read more
§

fn children_bi(&self) -> VecDeque<To>

Returns the children of a type. If to == from then it returns the original element (in contrast to children). Read more
§

fn transform_bi(&self, op: &impl Fn(To) -> To) -> Self

Applies the given function to all nodes bottom up. Read more
§

fn holes_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over all direct children of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
§

fn contexts_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over the universe of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
Source§

impl Biplate<UnresolvedDomain> for Domain

Source§

fn biplate( &self, ) -> (Tree<UnresolvedDomain>, Box<dyn Fn(Tree<UnresolvedDomain>) -> Domain>)

Definition of a Biplate. Read more
§

fn with_children_bi(&self, children: VecDeque<To>) -> Self

Reconstructs the node with the given children. Read more
§

fn descend_bi(&self, op: &impl Fn(To) -> To) -> Self

Biplate variant of [Uniplate::descend] Read more
§

fn universe_bi(&self) -> VecDeque<To>

Gets all children of a node, including itself and all children. Read more
§

fn children_bi(&self) -> VecDeque<To>

Returns the children of a type. If to == from then it returns the original element (in contrast to children). Read more
§

fn transform_bi(&self, op: &impl Fn(To) -> To) -> Self

Applies the given function to all nodes bottom up. Read more
§

fn holes_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over all direct children of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
§

fn contexts_bi(&self) -> impl Iterator<Item = (To, impl Fn(To))>

Returns an iterator over the universe of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
Source§

impl Clone for Domain

Source§

fn clone(&self) -> Domain

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Domain

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Domain

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for Domain

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for Domain

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Domain

Source§

fn eq(&self, other: &Domain) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Quine for Domain

Source§

impl Serialize for Domain

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Typeable for Domain

Source§

impl Uniplate for Domain

Source§

fn uniplate(&self) -> (Tree<Domain>, Box<dyn Fn(Tree<Domain>) -> Domain>)

Definition of a Uniplate. Read more
§

fn descend(&self, op: &impl Fn(Self) -> Self) -> Self

Applies a function to all direct children of this Read more
§

fn universe(&self) -> VecDeque<Self>

Gets all children of a node, including itself and all children. Read more
§

fn children(&self) -> VecDeque<Self>

Gets the direct children (maximal substructures) of a node.
§

fn with_children(&self, children: VecDeque<Self>) -> Self

Reconstructs the node with the given children. Read more
§

fn transform(&self, f: &impl Fn(Self) -> Self) -> Self

Applies the given function to all nodes bottom up.
§

fn rewrite(&self, f: &impl Fn(Self) -> Option<Self>) -> Self

Rewrites by applying a rule everywhere it can.
§

fn cata<T>(&self, op: &impl Fn(Self, VecDeque<T>) -> T) -> T

Performs a fold-like computation on each value. Read more
§

fn holes(&self) -> impl Iterator<Item = (Self, impl Fn(Self))>

Returns an iterator over all direct children of the input, paired with a function that “fills the hole” where the child was with a new value.
§

fn contexts(&self) -> impl Iterator<Item = (Self, impl Fn(Self))>

Returns an iterator over the universe of the input, paired with a function that “fills the hole” where the child was with a new value. Read more
Source§

impl Eq for Domain

Source§

impl StructuralPartialEq for Domain

Auto Trait Implementations§

§

impl Freeze for Domain

§

impl !RefUnwindSafe for Domain

§

impl !Send for Domain

§

impl !Sync for Domain

§

impl Unpin for Domain

§

impl !UnwindSafe for Domain

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T, A> IntoAst<A> for T
where T: Into<A>, A: Ast,

§

fn into_ast(self, _a: &A) -> A

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 16 bytes

Size for each variant:

  • Ground: 8 bytes
  • Unresolved: 8 bytes