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§
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.