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. We can use _ 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 a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

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

Tries to unify all facts in the list. Read more

Performs the conversion.

Converts an iterator over usize into a closed shape.

Converts an iterator over usize into a closed shape.

Feeds this value into the given Hasher. Read more

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

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

Wraps self in the Wrapped type.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

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

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.