pub trait ExecSpecFixedWidthArith: Sized {
// Required methods
spec fn spec_fixed_add(self, rhs: Self) -> Self;
spec fn spec_fixed_sub(self, rhs: Self) -> Self;
spec fn spec_fixed_mul(self, rhs: Self) -> Self;
exec fn exec_fixed_add(self, rhs: Self) -> res : Self;
exec fn exec_fixed_sub(self, rhs: Self) -> res : Self;
exec fn exec_fixed_mul(self, rhs: Self) -> res : Self;
}Required Methods§
Sourcespec fn spec_fixed_add(self, rhs: Self) -> Self
spec fn spec_fixed_add(self, rhs: Self) -> Self
Sourcespec fn spec_fixed_sub(self, rhs: Self) -> Self
spec fn spec_fixed_sub(self, rhs: Self) -> Self
Sourcespec fn spec_fixed_mul(self, rhs: Self) -> Self
spec fn spec_fixed_mul(self, rhs: Self) -> Self
Sourceexec fn exec_fixed_add(self, rhs: Self) -> res : Self
exec fn exec_fixed_add(self, rhs: Self) -> res : Self
ensures
res == self.spec_fixed_add(rhs),Sourceexec fn exec_fixed_sub(self, rhs: Self) -> res : Self
exec fn exec_fixed_sub(self, rhs: Self) -> res : Self
ensures
res == self.spec_fixed_sub(rhs),Sourceexec fn exec_fixed_mul(self, rhs: Self) -> res : Self
exec fn exec_fixed_mul(self, rhs: Self) -> res : Self
ensures
res == self.spec_fixed_mul(rhs),Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl ExecSpecFixedWidthArith for i8
impl ExecSpecFixedWidthArith for i8
Source§open spec fn spec_fixed_add(self, rhs: i8) -> i8
open spec fn spec_fixed_add(self, rhs: i8) -> i8
{ add(self, rhs) }Source§open spec fn spec_fixed_sub(self, rhs: i8) -> i8
open spec fn spec_fixed_sub(self, rhs: i8) -> i8
{ sub(self, rhs) }Source§open spec fn spec_fixed_mul(self, rhs: i8) -> i8
open spec fn spec_fixed_mul(self, rhs: i8) -> i8
{ mul(self, rhs) }Source§exec fn exec_fixed_add(self, rhs: i8) -> res : i8
exec fn exec_fixed_add(self, rhs: i8) -> res : i8
Source§exec fn exec_fixed_sub(self, rhs: i8) -> res : i8
exec fn exec_fixed_sub(self, rhs: i8) -> res : i8
Source§exec fn exec_fixed_mul(self, rhs: i8) -> res : i8
exec fn exec_fixed_mul(self, rhs: i8) -> res : i8
Source§impl ExecSpecFixedWidthArith for i16
impl ExecSpecFixedWidthArith for i16
Source§open spec fn spec_fixed_add(self, rhs: i16) -> i16
open spec fn spec_fixed_add(self, rhs: i16) -> i16
{ add(self, rhs) }Source§open spec fn spec_fixed_sub(self, rhs: i16) -> i16
open spec fn spec_fixed_sub(self, rhs: i16) -> i16
{ sub(self, rhs) }Source§open spec fn spec_fixed_mul(self, rhs: i16) -> i16
open spec fn spec_fixed_mul(self, rhs: i16) -> i16
{ mul(self, rhs) }Source§exec fn exec_fixed_add(self, rhs: i16) -> res : i16
exec fn exec_fixed_add(self, rhs: i16) -> res : i16
Source§exec fn exec_fixed_sub(self, rhs: i16) -> res : i16
exec fn exec_fixed_sub(self, rhs: i16) -> res : i16
Source§exec fn exec_fixed_mul(self, rhs: i16) -> res : i16
exec fn exec_fixed_mul(self, rhs: i16) -> res : i16
Source§impl ExecSpecFixedWidthArith for i32
impl ExecSpecFixedWidthArith for i32
Source§open spec fn spec_fixed_add(self, rhs: i32) -> i32
open spec fn spec_fixed_add(self, rhs: i32) -> i32
{ add(self, rhs) }Source§open spec fn spec_fixed_sub(self, rhs: i32) -> i32
open spec fn spec_fixed_sub(self, rhs: i32) -> i32
{ sub(self, rhs) }Source§open spec fn spec_fixed_mul(self, rhs: i32) -> i32
open spec fn spec_fixed_mul(self, rhs: i32) -> i32
{ mul(self, rhs) }Source§exec fn exec_fixed_add(self, rhs: i32) -> res : i32
exec fn exec_fixed_add(self, rhs: i32) -> res : i32
Source§exec fn exec_fixed_sub(self, rhs: i32) -> res : i32
exec fn exec_fixed_sub(self, rhs: i32) -> res : i32
Source§exec fn exec_fixed_mul(self, rhs: i32) -> res : i32
exec fn exec_fixed_mul(self, rhs: i32) -> res : i32
Source§impl ExecSpecFixedWidthArith for i64
impl ExecSpecFixedWidthArith for i64
Source§open spec fn spec_fixed_add(self, rhs: i64) -> i64
open spec fn spec_fixed_add(self, rhs: i64) -> i64
{ add(self, rhs) }Source§open spec fn spec_fixed_sub(self, rhs: i64) -> i64
open spec fn spec_fixed_sub(self, rhs: i64) -> i64
{ sub(self, rhs) }Source§open spec fn spec_fixed_mul(self, rhs: i64) -> i64
open spec fn spec_fixed_mul(self, rhs: i64) -> i64
{ mul(self, rhs) }Source§exec fn exec_fixed_add(self, rhs: i64) -> res : i64
exec fn exec_fixed_add(self, rhs: i64) -> res : i64
Source§exec fn exec_fixed_sub(self, rhs: i64) -> res : i64
exec fn exec_fixed_sub(self, rhs: i64) -> res : i64
Source§exec fn exec_fixed_mul(self, rhs: i64) -> res : i64
exec fn exec_fixed_mul(self, rhs: i64) -> res : i64
Source§impl ExecSpecFixedWidthArith for isize
impl ExecSpecFixedWidthArith for isize
Source§open spec fn spec_fixed_add(self, rhs: isize) -> isize
open spec fn spec_fixed_add(self, rhs: isize) -> isize
{ add(self, rhs) }Source§open spec fn spec_fixed_sub(self, rhs: isize) -> isize
open spec fn spec_fixed_sub(self, rhs: isize) -> isize
{ sub(self, rhs) }Source§open spec fn spec_fixed_mul(self, rhs: isize) -> isize
open spec fn spec_fixed_mul(self, rhs: isize) -> isize
{ mul(self, rhs) }Source§exec fn exec_fixed_add(self, rhs: isize) -> res : isize
exec fn exec_fixed_add(self, rhs: isize) -> res : isize
Source§exec fn exec_fixed_sub(self, rhs: isize) -> res : isize
exec fn exec_fixed_sub(self, rhs: isize) -> res : isize
Source§exec fn exec_fixed_mul(self, rhs: isize) -> res : isize
exec fn exec_fixed_mul(self, rhs: isize) -> res : isize
Source§impl ExecSpecFixedWidthArith for u8
impl ExecSpecFixedWidthArith for u8
Source§open spec fn spec_fixed_add(self, rhs: u8) -> u8
open spec fn spec_fixed_add(self, rhs: u8) -> u8
{ add(self, rhs) }Source§open spec fn spec_fixed_sub(self, rhs: u8) -> u8
open spec fn spec_fixed_sub(self, rhs: u8) -> u8
{ sub(self, rhs) }Source§open spec fn spec_fixed_mul(self, rhs: u8) -> u8
open spec fn spec_fixed_mul(self, rhs: u8) -> u8
{ mul(self, rhs) }Source§exec fn exec_fixed_add(self, rhs: u8) -> res : u8
exec fn exec_fixed_add(self, rhs: u8) -> res : u8
Source§exec fn exec_fixed_sub(self, rhs: u8) -> res : u8
exec fn exec_fixed_sub(self, rhs: u8) -> res : u8
Source§exec fn exec_fixed_mul(self, rhs: u8) -> res : u8
exec fn exec_fixed_mul(self, rhs: u8) -> res : u8
Source§impl ExecSpecFixedWidthArith for u16
impl ExecSpecFixedWidthArith for u16
Source§open spec fn spec_fixed_add(self, rhs: u16) -> u16
open spec fn spec_fixed_add(self, rhs: u16) -> u16
{ add(self, rhs) }Source§open spec fn spec_fixed_sub(self, rhs: u16) -> u16
open spec fn spec_fixed_sub(self, rhs: u16) -> u16
{ sub(self, rhs) }Source§open spec fn spec_fixed_mul(self, rhs: u16) -> u16
open spec fn spec_fixed_mul(self, rhs: u16) -> u16
{ mul(self, rhs) }Source§exec fn exec_fixed_add(self, rhs: u16) -> res : u16
exec fn exec_fixed_add(self, rhs: u16) -> res : u16
Source§exec fn exec_fixed_sub(self, rhs: u16) -> res : u16
exec fn exec_fixed_sub(self, rhs: u16) -> res : u16
Source§exec fn exec_fixed_mul(self, rhs: u16) -> res : u16
exec fn exec_fixed_mul(self, rhs: u16) -> res : u16
Source§impl ExecSpecFixedWidthArith for u32
impl ExecSpecFixedWidthArith for u32
Source§open spec fn spec_fixed_add(self, rhs: u32) -> u32
open spec fn spec_fixed_add(self, rhs: u32) -> u32
{ add(self, rhs) }Source§open spec fn spec_fixed_sub(self, rhs: u32) -> u32
open spec fn spec_fixed_sub(self, rhs: u32) -> u32
{ sub(self, rhs) }Source§open spec fn spec_fixed_mul(self, rhs: u32) -> u32
open spec fn spec_fixed_mul(self, rhs: u32) -> u32
{ mul(self, rhs) }Source§exec fn exec_fixed_add(self, rhs: u32) -> res : u32
exec fn exec_fixed_add(self, rhs: u32) -> res : u32
Source§exec fn exec_fixed_sub(self, rhs: u32) -> res : u32
exec fn exec_fixed_sub(self, rhs: u32) -> res : u32
Source§exec fn exec_fixed_mul(self, rhs: u32) -> res : u32
exec fn exec_fixed_mul(self, rhs: u32) -> res : u32
Source§impl ExecSpecFixedWidthArith for u64
impl ExecSpecFixedWidthArith for u64
Source§open spec fn spec_fixed_add(self, rhs: u64) -> u64
open spec fn spec_fixed_add(self, rhs: u64) -> u64
{ add(self, rhs) }Source§open spec fn spec_fixed_sub(self, rhs: u64) -> u64
open spec fn spec_fixed_sub(self, rhs: u64) -> u64
{ sub(self, rhs) }Source§open spec fn spec_fixed_mul(self, rhs: u64) -> u64
open spec fn spec_fixed_mul(self, rhs: u64) -> u64
{ mul(self, rhs) }Source§exec fn exec_fixed_add(self, rhs: u64) -> res : u64
exec fn exec_fixed_add(self, rhs: u64) -> res : u64
Source§exec fn exec_fixed_sub(self, rhs: u64) -> res : u64
exec fn exec_fixed_sub(self, rhs: u64) -> res : u64
Source§exec fn exec_fixed_mul(self, rhs: u64) -> res : u64
exec fn exec_fixed_mul(self, rhs: u64) -> res : u64
Source§impl ExecSpecFixedWidthArith for usize
impl ExecSpecFixedWidthArith for usize
Source§open spec fn spec_fixed_add(self, rhs: usize) -> usize
open spec fn spec_fixed_add(self, rhs: usize) -> usize
{ add(self, rhs) }Source§open spec fn spec_fixed_sub(self, rhs: usize) -> usize
open spec fn spec_fixed_sub(self, rhs: usize) -> usize
{ sub(self, rhs) }Source§open spec fn spec_fixed_mul(self, rhs: usize) -> usize
open spec fn spec_fixed_mul(self, rhs: usize) -> usize
{ mul(self, rhs) }