From bb90631d658987f281f8eb1902f21ffd9eb2ad7a Mon Sep 17 00:00:00 2001 From: Poly Date: Wed, 10 Feb 2021 03:22:37 +0100 Subject: [PATCH] [Debug Trait] signaling.rs --- src/signaling.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/signaling.rs b/src/signaling.rs index 6a12a2e..9a6743d 100644 --- a/src/signaling.rs +++ b/src/signaling.rs @@ -21,10 +21,12 @@ use std::{ any::Any, cell::RefCell, collections::VecDeque, + fmt, rc::{Rc, Weak}, }; /// A signaler, main type for signaling +#[derive(Debug)] pub struct Signaler { inner: Rc>, } @@ -88,6 +90,7 @@ impl Default for Signaler { /// Dropping it will disable and drop the callback it is associated to. /// If you don't plan to ever disable the callback, you can use the `leak` /// method to safely get rid of this value. +#[derive(Debug)] pub struct SignalToken { signal: Rc, } @@ -108,6 +111,16 @@ struct SignalInner { pending_events: RefCell>, } +impl fmt::Debug for SignalInner { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.debug_struct("SignalInner") + .field("callbacks::len()", &self.callbacks.borrow().len()) + .field("pending_callbacks::len()", &self.pending_callbacks.borrow().len()) + .field("pending_events", &self.pending_events) + .finish() + } +} + impl SignalInner { fn new() -> SignalInner { SignalInner {