DebugHandler

Trait DebugHandler 

Source
pub trait DebugHandler<T: ?Sized>: GeneralHandler<T> {
    const NAME: &'static str;
}
Expand description

A helper trait for providing a custom name when formatting GeneralObserver with Debug.

DebugHandler extends GeneralHandler by adding a NAME constant used as the type label in Debug output for GeneralObserver.

§Example

use morphix::observe::{DebugHandler, GeneralHandler, GeneralObserver, Observer};

#[derive(Default)]
pub struct MyHandler;

impl<T> GeneralHandler<T> for MyHandler {
    // omitted for brevity
}

impl<T> DebugHandler<T> for MyHandler {
    const NAME: &'static str = "MyObserver";
}

let mut value = 123;
let ob = GeneralObserver::<MyHandler, i32>::observe(&mut value);
println!("{:?}", ob); // prints: MyObserver(123)

Required Associated Constants§

Source

const NAME: &'static str

The name displayed when formatting the observer with Debug.

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§