Trait ExRem

Source
pub trait ExRem<Rhs = Self> {
    type ExternalTraitSpecificationFor: Rem<Rhs>;
    type Output;

    // Required methods
    spec fn obeys_rem_spec() -> bool;
    spec fn rem_req(self, rhs: Rhs) -> bool
       where Self: Sized;
    spec fn rem_spec(self, rhs: Rhs) -> Self::Output
       where Self: Sized;
    exec fn rem(self, rhs: Rhs) -> ret : Self::Output;
}

Required Associated Types§

Required Methods§

Source

spec fn obeys_rem_spec() -> bool

Source

spec fn rem_req(self, rhs: Rhs) -> bool
where Self: Sized,

Source

spec fn rem_spec(self, rhs: Rhs) -> Self::Output
where Self: Sized,

Source

exec fn rem(self, rhs: Rhs) -> ret : Self::Output

requires
self.rem_req(rhs),
ensures
Self::obeys_rem_spec() ==> ret == self.rem_spec(rhs),

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.

Implementors§