pub trait Repr<R: Sized>: Sized {
// Required methods
spec fn wf(r: R) -> bool;
spec fn to_repr_spec(self) -> R;
exec fn to_repr(self) -> res : R;
spec fn from_repr_spec(r: R) -> Self;
exec fn from_repr(r: R) -> res : Self;
exec fn from_borrowed<'a>(r: &'a R) -> res : &'a Self;
proof fn from_to_repr(self);
proof fn to_from_repr(r: R);
proof fn to_repr_wf(self);
}Required Methods§
Sourcespec fn to_repr_spec(self) -> R
spec fn to_repr_spec(self) -> R
Sourcespec fn from_repr_spec(r: R) -> Self
spec fn from_repr_spec(r: R) -> Self
Sourceexec fn from_repr(r: R) -> res : Self
exec fn from_repr(r: R) -> res : Self
requires
Self::wf(r),ensuresres == Self::from_repr_spec(r),Sourceexec fn from_borrowed<'a>(r: &'a R) -> res : &'a Self
exec fn from_borrowed<'a>(r: &'a R) -> res : &'a Self
requires
Self::wf(*r),ensures*res == Self::from_repr_spec(*r),Sourceproof fn from_to_repr(self)
proof fn from_to_repr(self)
ensures
Self::from_repr(self.to_repr()) == self,Sourceproof fn to_from_repr(r: R)
proof fn to_from_repr(r: R)
requires
Self::wf(r),ensuresSelf::from_repr(r).to_repr() == r,Sourceproof fn to_repr_wf(self)
proof fn to_repr_wf(self)
ensures
Self::wf(self.to_repr()),Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.