From 641ae3a17dc9264caf31581a2449d537f4457e5a Mon Sep 17 00:00:00 2001 From: Jonathan Johnson Date: Thu, 21 Dec 2023 07:11:24 -0800 Subject: [PATCH] Debug for WeakDynamic --- CHANGELOG.md | 1 + src/value.rs | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4877548..0b219b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,6 +37,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 This dynamic is also accessible through `RunningWindow::inner_size`, which is accessible through contexts passed into various `Widget` functions. - `Progress` now implements `Default` by returning `Progress::Indeterminant`. +- `WeakDynamic` now implements `Debug` when `T` is `Debug`. ### Fixed diff --git a/src/value.rs b/src/value.rs index 5abd4a8..0b954c7 100644 --- a/src/value.rs +++ b/src/value.rs @@ -1205,6 +1205,20 @@ impl WeakDynamic { self.0.upgrade().map(Dynamic) } } +impl Debug for WeakDynamic +where + T: Debug, +{ + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + if let Some(strong) = self.upgrade() { + Debug::fmt(&strong, f) + } else { + f.debug_tuple("WeakDynamic") + .field(&"") + .finish() + } + } +} impl<'a, T> From<&'a Dynamic> for WeakDynamic { fn from(value: &'a Dynamic) -> Self {