pub struct ExecMultiset<T: Hash + Eq> {
pub m: HashMap<T, usize>,
}Expand description
Multiset<T> is compiled to ExecMultiset<T>.
Fields§
§m: HashMap<T, usize>Trait Implementations§
Source§impl<T: DeepView + DeepViewClone + Hash + Eq> DeepViewClone for ExecMultiset<T>
impl<T: DeepView + DeepViewClone + Hash + Eq> DeepViewClone for ExecMultiset<T>
Source§exec fn deep_clone(&self) -> Self
exec fn deep_clone(&self) -> Self
Source§impl<'a, T: DeepView + DeepViewClone + Hash + Eq> ExecSpecEq<'a> for &'a ExecMultiset<T>
impl<'a, T: DeepView + DeepViewClone + Hash + Eq> ExecSpecEq<'a> for &'a ExecMultiset<T>
Source§impl<'a, T: DeepView + DeepViewClone + Hash + Eq> ExecSpecLen for &'a ExecMultiset<T>
impl<'a, T: DeepView + DeepViewClone + Hash + Eq> ExecSpecLen for &'a ExecMultiset<T>
Source§impl<'a, T> ExecSpecMultisetAdd<'a, ExecMultiset<T>> for &'a ExecMultiset<T>
impl<'a, T> ExecSpecMultisetAdd<'a, ExecMultiset<T>> for &'a ExecMultiset<T>
Source§exec fn exec_add(self, m2: Self) -> res : ExecMultiset<T>
exec fn exec_add(self, m2: Self) -> res : ExecMultiset<T>
ensures
res.deep_view() =~= self.deep_view().add(m2.deep_view()),Source§impl<'a, T: DeepView + DeepViewClone + Hash + Eq> ExecSpecMultisetCount for &'a ExecMultiset<T>
impl<'a, T: DeepView + DeepViewClone + Hash + Eq> ExecSpecMultisetCount for &'a ExecMultiset<T>
Source§impl<T: DeepView + Hash + Eq> ExecSpecMultisetEmpty for ExecMultiset<T>
impl<T: DeepView + Hash + Eq> ExecSpecMultisetEmpty for ExecMultiset<T>
Source§exec fn exec_empty() -> res : Self
exec fn exec_empty() -> res : Self
ensures
res.deep_view() =~= Multiset::empty(),Source§impl<T: DeepView + DeepViewClone + Hash + Eq> ExecSpecMultisetSingleton for ExecMultiset<T>
impl<T: DeepView + DeepViewClone + Hash + Eq> ExecSpecMultisetSingleton for ExecMultiset<T>
Source§impl<'a, T> ExecSpecMultisetSub<'a, ExecMultiset<T>> for &'a ExecMultiset<T>
impl<'a, T> ExecSpecMultisetSub<'a, ExecMultiset<T>> for &'a ExecMultiset<T>
Source§exec fn exec_sub(self, m2: Self) -> res : ExecMultiset<T>
exec fn exec_sub(self, m2: Self) -> res : ExecMultiset<T>
ensures
res.deep_view() =~= self.deep_view().sub(m2.deep_view()),Source§impl<'a, T: DeepView + DeepViewClone + Hash + Eq> ToOwned<ExecMultiset<T>> for &'a ExecMultiset<T>
impl<'a, T: DeepView + DeepViewClone + Hash + Eq> ToOwned<ExecMultiset<T>> for &'a ExecMultiset<T>
Source§exec fn get_owned(self) -> ExecMultiset<T>
exec fn get_owned(self) -> ExecMultiset<T>
Source§impl<'a, T: DeepView + DeepViewClone + Hash + Eq> ToRef<&'a ExecMultiset<T>> for &'a ExecMultiset<T>
impl<'a, T: DeepView + DeepViewClone + Hash + Eq> ToRef<&'a ExecMultiset<T>> for &'a ExecMultiset<T>
Source§exec fn get_ref(self) -> &'a ExecMultiset<T>
exec fn get_ref(self) -> &'a ExecMultiset<T>
impl<T: Eq + Hash + Eq> Eq for ExecMultiset<T>
impl<T: Hash + Eq> StructuralPartialEq for ExecMultiset<T>
Auto Trait Implementations§
impl<T> Freeze for ExecMultiset<T>
impl<T> RefUnwindSafe for ExecMultiset<T>where
T: RefUnwindSafe,
impl<T> Send for ExecMultiset<T>where
T: Send,
impl<T> Sync for ExecMultiset<T>where
T: Sync,
impl<T> Unpin for ExecMultiset<T>where
T: Unpin,
impl<T> UnwindSafe for ExecMultiset<T>where
T: UnwindSafe,
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, U> IntoSpecImpl<U> for Twhere
U: From<T>,
impl<T, U> IntoSpecImpl<U> for Twhere
U: From<T>,
Source§impl<A, Rhs> PartialEqIs<Rhs> for A
impl<A, Rhs> PartialEqIs<Rhs> for A
Source§impl<Rhs, VERUS_SPEC__A> PartialEqSpec<Rhs> for VERUS_SPEC__A
impl<Rhs, VERUS_SPEC__A> PartialEqSpec<Rhs> for VERUS_SPEC__A
Source§impl<T, VERUS_SPEC__A> TryFromSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: TryFrom<T>,
impl<T, VERUS_SPEC__A> TryFromSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: TryFrom<T>,
Source§exec fn obeys_try_from_spec() -> bool
exec fn obeys_try_from_spec() -> bool
Source§impl<T, VERUS_SPEC__A> TryIntoSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: TryInto<T>,
impl<T, VERUS_SPEC__A> TryIntoSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: TryInto<T>,
Source§exec fn obeys_try_into_spec() -> bool
exec fn obeys_try_into_spec() -> bool
Source§impl<T, U> TryIntoSpecImpl<U> for Twhere
U: TryFrom<T>,
impl<T, U> TryIntoSpecImpl<U> for Twhere
U: TryFrom<T>,
Source§open spec fn obeys_try_into_spec() -> bool
open spec fn obeys_try_into_spec() -> bool
{ <U as TryFromSpec<Self>>::obeys_try_from_spec() }