Struct nat

pub struct nat;

Trait Implementations§

§

impl Add for nat

§

type Output = nat

The resulting type after applying the + operator.
§

fn add(self, _other: nat) -> <nat as Add>::Output

Performs the + operation. Read more
§

impl Clone for nat

§

fn clone(&self) -> nat

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Div for nat

§

type Output = nat

The resulting type after applying the / operator.
§

fn div(self, _other: nat) -> <nat as Div>::Output

Performs the / operation. Read more
§

impl Integer for nat

§

const CONST_DEFAULT: nat = nat

§

impl Mul for nat

§

type Output = nat

The resulting type after applying the * operator.
§

fn mul(self, _other: nat) -> <nat as Mul>::Output

Performs the * operation. Read more
§

impl Ord for nat

§

fn cmp(&self, _other: &nat) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
§

impl PartialEq for nat

§

fn eq(&self, _other: &nat) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialOrd for nat

§

fn partial_cmp(&self, _other: &nat) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
§

impl Rem for nat

§

type Output = nat

The resulting type after applying the % operator.
§

fn rem(self, _other: nat) -> <nat as Rem>::Output

Performs the % operation. Read more
§

impl SpecAdd<i128> for nat

§

type Output = int

§

fn spec_add(self, _rhs: i128) -> <nat as SpecAdd<i128>>::Output

§

impl SpecAdd<i16> for nat

§

type Output = int

§

fn spec_add(self, _rhs: i16) -> <nat as SpecAdd<i16>>::Output

§

impl SpecAdd<i32> for nat

§

type Output = int

§

fn spec_add(self, _rhs: i32) -> <nat as SpecAdd<i32>>::Output

§

impl SpecAdd<i64> for nat

§

type Output = int

§

fn spec_add(self, _rhs: i64) -> <nat as SpecAdd<i64>>::Output

§

impl SpecAdd<i8> for nat

§

type Output = int

§

fn spec_add(self, _rhs: i8) -> <nat as SpecAdd<i8>>::Output

§

impl SpecAdd<int> for nat

§

type Output = int

§

fn spec_add(self, _rhs: int) -> <nat as SpecAdd<int>>::Output

§

impl SpecAdd<isize> for nat

§

type Output = int

§

fn spec_add(self, _rhs: isize) -> <nat as SpecAdd<isize>>::Output

§

impl SpecAdd<u128> for nat

§

type Output = int

§

fn spec_add(self, _rhs: u128) -> <nat as SpecAdd<u128>>::Output

§

impl SpecAdd<u16> for nat

§

type Output = int

§

fn spec_add(self, _rhs: u16) -> <nat as SpecAdd<u16>>::Output

§

impl SpecAdd<u32> for nat

§

type Output = int

§

fn spec_add(self, _rhs: u32) -> <nat as SpecAdd<u32>>::Output

§

impl SpecAdd<u64> for nat

§

type Output = int

§

fn spec_add(self, _rhs: u64) -> <nat as SpecAdd<u64>>::Output

§

impl SpecAdd<u8> for nat

§

type Output = int

§

fn spec_add(self, _rhs: u8) -> <nat as SpecAdd<u8>>::Output

§

impl SpecAdd<usize> for nat

§

type Output = int

§

fn spec_add(self, _rhs: usize) -> <nat as SpecAdd<usize>>::Output

§

impl SpecAdd for nat

§

type Output = nat

§

fn spec_add(self, _rhs: nat) -> <nat as SpecAdd>::Output

§

impl SpecEuclideanDiv for nat

§

impl SpecEuclideanMod for nat

§

impl SpecMul<i128> for nat

§

type Output = int

§

fn spec_mul(self, _rhs: i128) -> <nat as SpecMul<i128>>::Output

§

impl SpecMul<i16> for nat

§

type Output = int

§

fn spec_mul(self, _rhs: i16) -> <nat as SpecMul<i16>>::Output

§

impl SpecMul<i32> for nat

§

type Output = int

§

fn spec_mul(self, _rhs: i32) -> <nat as SpecMul<i32>>::Output

§

impl SpecMul<i64> for nat

§

type Output = int

§

fn spec_mul(self, _rhs: i64) -> <nat as SpecMul<i64>>::Output

§

impl SpecMul<i8> for nat

§

type Output = int

§

fn spec_mul(self, _rhs: i8) -> <nat as SpecMul<i8>>::Output

§

impl SpecMul<int> for nat

§

type Output = int

§

fn spec_mul(self, _rhs: int) -> <nat as SpecMul<int>>::Output

§

impl SpecMul<isize> for nat

§

type Output = int

§

fn spec_mul(self, _rhs: isize) -> <nat as SpecMul<isize>>::Output

§

impl SpecMul<u128> for nat

§

type Output = int

§

fn spec_mul(self, _rhs: u128) -> <nat as SpecMul<u128>>::Output

§

impl SpecMul<u16> for nat

§

type Output = int

§

fn spec_mul(self, _rhs: u16) -> <nat as SpecMul<u16>>::Output

§

impl SpecMul<u32> for nat

§

type Output = int

§

fn spec_mul(self, _rhs: u32) -> <nat as SpecMul<u32>>::Output

§

impl SpecMul<u64> for nat

§

type Output = int

§

fn spec_mul(self, _rhs: u64) -> <nat as SpecMul<u64>>::Output

§

impl SpecMul<u8> for nat

§

type Output = int

§

fn spec_mul(self, _rhs: u8) -> <nat as SpecMul<u8>>::Output

§

impl SpecMul<usize> for nat

§

type Output = int

§

fn spec_mul(self, _rhs: usize) -> <nat as SpecMul<usize>>::Output

§

impl SpecMul for nat

§

type Output = nat

§

fn spec_mul(self, _rhs: nat) -> <nat as SpecMul>::Output

§

impl SpecNeg for nat

§

type Output = int

§

fn spec_neg(self) -> <nat as SpecNeg>::Output

§

impl<Rhs> SpecOrd<Rhs> for nat
where Rhs: Integer,

§

fn spec_lt(self, _rhs: Rhs) -> bool

§

fn spec_le(self, _rhs: Rhs) -> bool

§

fn spec_gt(self, _rhs: Rhs) -> bool

§

fn spec_ge(self, _rhs: Rhs) -> bool

§

impl<Rhs> SpecSub<Rhs> for nat
where Rhs: Integer,

§

type Output = int

§

fn spec_sub(self, _rhs: Rhs) -> <nat as SpecSub<Rhs>>::Output

§

impl Sub for nat

§

type Output = nat

The resulting type after applying the - operator.
§

fn sub(self, _other: nat) -> <nat as Sub>::Output

Performs the - operation. Read more
Source§

impl<K, V, Pred: InvariantPredicate<K, V>> UniqueValueToken<nat> for flag_rc<K, V, Pred>

Source§

fn unique(&mut self, other: &Self)

Source§

impl<K, V, Pred: InvariantPredicate<K, V>> ValueToken<nat> for flag_rc<K, V, Pred>

§

impl Copy for nat

§

impl Eq for nat

§

impl Structural for nat

Auto Trait Implementations§

§

impl Freeze for nat

§

impl RefUnwindSafe for nat

§

impl Send for nat

§

impl Sync for nat

§

impl Unpin for nat

§

impl UnwindSafe for nat

Blanket Implementations§

Source§

impl<Rhs, VERUS_SPEC__A> AddSpec<Rhs> for VERUS_SPEC__A
where VERUS_SPEC__A: Add<Rhs> + ?Sized,

Source§

exec fn obeys_add_spec() -> bool

Source§

exec fn add_req(self, rhs: Rhs) -> bool

Source§

exec fn add_spec(self, rhs: Rhs) -> <VERUS_SPEC__A as Add<Rhs>>::Output

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Rhs, VERUS_SPEC__A> DivSpec<Rhs> for VERUS_SPEC__A
where VERUS_SPEC__A: Div<Rhs> + ?Sized,

Source§

exec fn obeys_div_spec() -> bool

Source§

exec fn div_req(self, rhs: Rhs) -> bool

Source§

exec fn div_spec(self, rhs: Rhs) -> <VERUS_SPEC__A as Div<Rhs>>::Output

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<Rhs, VERUS_SPEC__A> MulSpec<Rhs> for VERUS_SPEC__A
where VERUS_SPEC__A: Mul<Rhs> + ?Sized,

Source§

exec fn obeys_mul_spec() -> bool

Source§

exec fn mul_req(self, rhs: Rhs) -> bool

Source§

exec fn mul_spec(self, rhs: Rhs) -> <VERUS_SPEC__A as Mul<Rhs>>::Output

Source§

impl<VERUS_SPEC__A> OrdSpec for VERUS_SPEC__A
where VERUS_SPEC__A: Ord + ?Sized,

Source§

exec fn obeys_cmp_spec() -> bool

Source§

exec fn cmp_spec(&self, other: &VERUS_SPEC__A) -> Ordering

Source§

impl<A, Rhs> PartialEqIs<Rhs> for A
where A: PartialEq<Rhs> + ?Sized, Rhs: ?Sized,

Source§

open spec fn is_eq(&self, other: &Rhs) -> bool

{ self.eq_spec(other) }
Source§

open spec fn is_ne(&self, other: &Rhs) -> bool

{ !self.eq_spec(other) }
Source§

impl<Rhs, VERUS_SPEC__A> PartialEqSpec<Rhs> for VERUS_SPEC__A
where VERUS_SPEC__A: PartialEq<Rhs> + ?Sized, Rhs: ?Sized,

Source§

exec fn obeys_eq_spec() -> bool

Source§

exec fn eq_spec(&self, other: &Rhs) -> bool

Source§

impl<A, Rhs> PartialOrdIs<Rhs> for A
where A: PartialOrd<Rhs> + ?Sized, Rhs: ?Sized,

Source§

open spec fn is_lt(&self, other: &Rhs) -> bool

{ self.partial_cmp_spec(other) == Some(Ordering::Less) }
Source§

open spec fn is_le(&self, other: &Rhs) -> bool

{ matches!(self.partial_cmp_spec(other), Some(Ordering::Less | Ordering::Equal)) }
Source§

open spec fn is_gt(&self, other: &Rhs) -> bool

{ self.partial_cmp_spec(other) == Some(Ordering::Greater) }
Source§

open spec fn is_ge(&self, other: &Rhs) -> bool

{ matches!(self.partial_cmp_spec(other), Some(Ordering::Greater | Ordering::Equal)) }
Source§

impl<Rhs, VERUS_SPEC__A> PartialOrdSpec<Rhs> for VERUS_SPEC__A
where VERUS_SPEC__A: PartialOrd<Rhs> + ?Sized, Rhs: ?Sized,

Source§

impl<Rhs, VERUS_SPEC__A> RemSpec<Rhs> for VERUS_SPEC__A
where VERUS_SPEC__A: Rem<Rhs> + ?Sized,

Source§

exec fn obeys_rem_spec() -> bool

Source§

exec fn rem_req(self, rhs: Rhs) -> bool

Source§

exec fn rem_spec(self, rhs: Rhs) -> <VERUS_SPEC__A as Rem<Rhs>>::Output

Source§

impl<Rhs, VERUS_SPEC__A> SubSpec<Rhs> for VERUS_SPEC__A
where VERUS_SPEC__A: Sub<Rhs> + ?Sized,

Source§

exec fn obeys_sub_spec() -> bool

Source§

exec fn sub_req(self, rhs: Rhs) -> bool

Source§

exec fn sub_spec(self, rhs: Rhs) -> <VERUS_SPEC__A as Sub<Rhs>>::Output

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.