Skip to main content

RecordableNumericType

Trait RecordableNumericType 

Source
pub trait RecordableNumericType:
    Copy
    + Debug
    + Display
    + FromStr
    + Sized
    + Send
    + Sync
    + 'static {
    type TraceType: ArgValue;

    // Required methods
    fn trace_value(&self) -> Self::TraceType;
    fn record(&self, node: &Node, name: &str);
    fn record_range(range: &(Self, Self), node: &Node);
}
Expand description

To be recordable, a numeric type must, in essence, be able to widen into a trace-compatible type and an Inspect-compatible type. Users are not expected to implement this trait; this module implements it for common numeric types below.

Required Associated Types§

Required Methods§

Source

fn trace_value(&self) -> Self::TraceType

Source

fn record(&self, node: &Node, name: &str)

Source

fn record_range(range: &(Self, Self), node: &Node)

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.

Implementations on Foreign Types§

Source§

impl RecordableNumericType for f32

Source§

type TraceType = f64

Source§

fn trace_value(&self) -> Self::TraceType

Source§

fn record(&self, node: &Node, name: &str)

Source§

fn record_range(range: &(Self, Self), node: &Node)

Source§

impl RecordableNumericType for f64

Source§

type TraceType = f64

Source§

fn trace_value(&self) -> Self::TraceType

Source§

fn record(&self, node: &Node, name: &str)

Source§

fn record_range(range: &(Self, Self), node: &Node)

Source§

impl RecordableNumericType for i8

Source§

type TraceType = i32

Source§

fn trace_value(&self) -> Self::TraceType

Source§

fn record(&self, node: &Node, name: &str)

Source§

fn record_range(range: &(Self, Self), node: &Node)

Source§

impl RecordableNumericType for i16

Source§

type TraceType = i32

Source§

fn trace_value(&self) -> Self::TraceType

Source§

fn record(&self, node: &Node, name: &str)

Source§

fn record_range(range: &(Self, Self), node: &Node)

Source§

impl RecordableNumericType for i32

Source§

type TraceType = i32

Source§

fn trace_value(&self) -> Self::TraceType

Source§

fn record(&self, node: &Node, name: &str)

Source§

fn record_range(range: &(Self, Self), node: &Node)

Source§

impl RecordableNumericType for i64

Source§

type TraceType = i64

Source§

fn trace_value(&self) -> Self::TraceType

Source§

fn record(&self, node: &Node, name: &str)

Source§

fn record_range(range: &(Self, Self), node: &Node)

Source§

impl RecordableNumericType for u8

Source§

type TraceType = u32

Source§

fn trace_value(&self) -> Self::TraceType

Source§

fn record(&self, node: &Node, name: &str)

Source§

fn record_range(range: &(Self, Self), node: &Node)

Source§

impl RecordableNumericType for u16

Source§

type TraceType = u32

Source§

fn trace_value(&self) -> Self::TraceType

Source§

fn record(&self, node: &Node, name: &str)

Source§

fn record_range(range: &(Self, Self), node: &Node)

Source§

impl RecordableNumericType for u32

Source§

type TraceType = u32

Source§

fn trace_value(&self) -> Self::TraceType

Source§

fn record(&self, node: &Node, name: &str)

Source§

fn record_range(range: &(Self, Self), node: &Node)

Source§

impl RecordableNumericType for u64

Source§

type TraceType = u64

Source§

fn trace_value(&self) -> Self::TraceType

Source§

fn record(&self, node: &Node, name: &str)

Source§

fn record_range(range: &(Self, Self), node: &Node)

Implementors§