Struct tract_hir::infer::ShapeFactoid [−][src]
pub struct ShapeFactoid { /* fields omitted */ }
Expand description
Partial information about a shape.
A basic example of a shape fact is shapefactoid![1, 2]
, which corresponds to
the shape [1, 2]
in Arc_
in facts to denote unknown
dimensions (e.g. shapefactoid![1, 2, _]
corresponds to any shape [1, 2, k]
with k
a non-negative integer). We can also use ..
at the end of a fact
to only specify its first dimensions, so shapefactoid![1, 2; ..]
matches any
shape that starts with [1, 2]
(e.g. [1, 2, i]
or [1, 2, i, j]
), while
shapefactoid![..]
matches any shape.
Implementations
Constructs an open shape fact.
Constructs a closed shape fact.
Trait Implementations
Returns the most general shape fact possible.
Tries to transform the fact into a Vec<usize>
, or returns None
.
Tries to unify the fact with another fact of the same type.
Returns whether the value is fully determined.
Tries to unify the fact with another fact of the same type and update self. Read more
Tries to unify the fact with another fact of the same type and update both of them. Read more
Performs the conversion.
Converts an iterator over usize into a closed shape.
Converts an iterator over usize into a closed shape.
Converts the value to an Expression.
Converts the value to an Expression.
Converts the value to an Expression.
Converts the value to an Expression.
Wraps the fact in the Wrapped type.
Retrieves the fact from the Wrapped type. Panics if wrapped doesn’t have the right constructor. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for ShapeFactoid
impl Send for ShapeFactoid
impl Sync for ShapeFactoid
impl Unpin for ShapeFactoid
impl UnwindSafe for ShapeFactoid
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘimpl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘimpl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more