Trait tract_hir::infer::Factoid[][src]

pub trait Factoid: Debug + Clone + PartialEq + Default + Hash {
    type Concrete: Debug;
    fn concretize(&self) -> Option<Self::Concrete>;
fn unify(&self, other: &Self) -> TractResult<Self>; fn is_concrete(&self) -> bool { ... }
fn unify_with(&mut self, other: &Self) -> TractResult<bool> { ... }
fn unify_with_mut(&mut self, other: &mut Self) -> TractResult<bool> { ... }
fn unify_all(facts: &mut [&mut Self]) -> TractResult<bool> { ... } }
Expand description

Partial information about any value.

Associated Types

Required methods

Tries to transform the fact into a concrete value.

Tries to unify the fact with another fact of the same type.

Provided methods

Returns whether the value is fully determined.

Tries to unify the fact with another fact of the same type and update self.

Returns true if it actually changed something.

Tries to unify the fact with another fact of the same type and update both of them.

Returns true if it actually changed something.

Tries to unify all facts in the list.

Returns true if it actually changed something.

Implementors