pub enum KVarEncoding {
Single,
Conj,
}Expand description
How an rty::KVar is encoded in the fixpoint constraint
Variants§
Single
Generate a single kvar appending the self arguments and the scope, i.e.,
a kvar $k(a0, ...)[b0, ...] becomes $k(a0, ..., b0, ...) in the fixpoint constraint.
Conj
Generate a conjunction of kvars, one per argument in rty::KVar::args.
Concretely, a kvar $k(a0, a1, ..., an)[b0, ...] becomes
$k0(a0, a1, ..., an, b0, ...) ∧ $k1(a1, ..., an, b0, ...) ∧ ... ∧ $kn(an, b0, ...)
Trait Implementations§
Source§impl Clone for KVarEncoding
impl Clone for KVarEncoding
Source§fn clone(&self) -> KVarEncoding
fn clone(&self) -> KVarEncoding
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for KVarEncoding
Auto Trait Implementations§
impl Freeze for KVarEncoding
impl RefUnwindSafe for KVarEncoding
impl Send for KVarEncoding
impl Sync for KVarEncoding
impl Unpin for KVarEncoding
impl UnwindSafe for KVarEncoding
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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