Trait Validator

Source
pub trait Validator {
    type Err: Error;

    // Required method
    fn validate_symbol(_: &str) -> Result<(), Self::Err>;

    // Provided method
    fn display(value: &Symbol<Self>, fmt: &mut Formatter<'_>) -> Result { ... }
}
Expand description

This is validator trait you should implement for your own symbols

In reality this trait serves three purposes:

  1. Validates that atom contains only value you expect it to contain
  2. Identifies the type i.e. type S1 = Symbol<V1> and type S2 = Symbol<V2> are different and incompatible types
  3. Allows to override Display trait for your own symbol

Required Associated Types§

Required Methods§

Provided Methods§

Source

fn display(value: &Symbol<Self>, fmt: &mut Formatter<'_>) -> Result

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§