[−][src]Struct chalk_ir::Environment
The set of assumptions we've made so far, and the current number of universal (forall) quantifiers we're within.
Fields
clauses: ProgramClauses<I>Implementations
impl<I: Interner> Environment<I>[src]
pub fn new(interner: &I) -> Self[src]
pub fn add_clauses<II>(&self, interner: &I, clauses: II) -> Self where
II: IntoIterator<Item = ProgramClause<I>>, [src]
II: IntoIterator<Item = ProgramClause<I>>,
Trait Implementations
impl<I: Clone + Interner> Clone for Environment<I>[src]
fn clone(&self) -> Environment<I>[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<I: Interner> Debug for Environment<I>[src]
impl<I: Eq + Interner> Eq for Environment<I>[src]
impl<I: Interner, _TI> Fold<I, _TI> for Environment<I> where
_TI: TargetInterner<I>, [src]
_TI: TargetInterner<I>,
type Result = Environment<_TI>
The type of value that will be produced once folding is done. Typically this is Self, unless Self contains borrowed values, in which case owned values are produced (for example, one can fold over a &T value where T: Fold, in which case you get back a T, not a &T). Read more
fn fold_with<'i>(
&self,
folder: &mut dyn Folder<'i, I, _TI>,
outer_binder: DebruijnIndex
) -> Fallible<Self::Result> where
I: 'i,
_TI: 'i, [src]
&self,
folder: &mut dyn Folder<'i, I, _TI>,
outer_binder: DebruijnIndex
) -> Fallible<Self::Result> where
I: 'i,
_TI: 'i,
impl<I: Interner> HasInterner for Environment<I>[src]
type Interner = I
impl<I: Hash + Interner> Hash for Environment<I>[src]
fn hash<__H: Hasher>(&self, state: &mut __H)[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl<I: PartialEq + Interner> PartialEq<Environment<I>> for Environment<I>[src]
fn eq(&self, other: &Environment<I>) -> bool[src]
fn ne(&self, other: &Environment<I>) -> bool[src]
impl<I: Interner> StructuralEq for Environment<I>[src]
impl<I: Interner> StructuralPartialEq for Environment<I>[src]
impl<I: Interner> Visit<I> for Environment<I>[src]
fn visit_with<'i, R: VisitResult>(
&self,
visitor: &mut dyn Visitor<'i, I, Result = R>,
outer_binder: DebruijnIndex
) -> R where
I: 'i, [src]
&self,
visitor: &mut dyn Visitor<'i, I, Result = R>,
outer_binder: DebruijnIndex
) -> R where
I: 'i,
impl<I: Interner> Zip<I> for Environment<I>[src]
Auto Trait Implementations
impl<I> RefUnwindSafe for Environment<I> where
<I as Interner>::InternedProgramClauses: RefUnwindSafe,
<I as Interner>::InternedProgramClauses: RefUnwindSafe,
impl<I> Send for Environment<I> where
<I as Interner>::InternedProgramClauses: Send,
<I as Interner>::InternedProgramClauses: Send,
impl<I> Sync for Environment<I> where
<I as Interner>::InternedProgramClauses: Sync,
<I as Interner>::InternedProgramClauses: Sync,
impl<I> Unpin for Environment<I> where
<I as Interner>::InternedProgramClauses: Unpin,
<I as Interner>::InternedProgramClauses: Unpin,
impl<I> UnwindSafe for Environment<I> where
<I as Interner>::InternedProgramClauses: UnwindSafe,
<I as Interner>::InternedProgramClauses: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Cast for T[src]
fn cast<U>(self, interner: &U::Interner) -> U where
Self: CastTo<U>,
U: HasInterner, [src]
Self: CastTo<U>,
U: HasInterner,
impl<T, I> CouldMatch<T> for T where
I: Interner,
T: Zip<I> + HasInterner<Interner = I> + ?Sized, [src]
I: Interner,
T: Zip<I> + HasInterner<Interner = I> + ?Sized,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, I> Shift<I> for T where
I: Interner,
T: Fold<I, I>, [src]
I: Interner,
T: Fold<I, I>,
fn shifted_in(&Self, &I) -> <T as Fold<I, I>>::Result[src]
fn shifted_in_from(&Self, &I, DebruijnIndex) -> <T as Fold<I, I>>::Result[src]
fn shifted_out_to(
&Self,
&I,
DebruijnIndex
) -> Result<<T as Fold<I, I>>::Result, NoSolution>[src]
&Self,
&I,
DebruijnIndex
) -> Result<<T as Fold<I, I>>::Result, NoSolution>
fn shifted_out(&Self, &I) -> Result<<T as Fold<I, I>>::Result, NoSolution>[src]
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T, I> VisitExt<I> for T where
I: Interner,
T: Visit<I>, [src]
I: Interner,
T: Visit<I>,