From 3364cc45cc5b66dbee37c61c9bfa20ba775f2a5c Mon Sep 17 00:00:00 2001 From: Tatsuyuki Ishi Date: Fri, 17 Dec 2021 10:53:57 +0900 Subject: [PATCH] Allow creating an empty WeakProgressBar --- src/progress_bar.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/progress_bar.rs b/src/progress_bar.rs index e29ed831..38464e22 100644 --- a/src/progress_bar.rs +++ b/src/progress_bar.rs @@ -766,12 +766,19 @@ impl MultiProgress { /// A weak reference to a `ProgressBar`. /// /// Useful for creating custom steady tick implementations -#[derive(Clone)] +#[derive(Clone, Default)] pub struct WeakProgressBar { state: Weak>, } impl WeakProgressBar { + /// Create a new `WeakProgressBar` that returns `None` when [`upgrade`] is called. + /// + /// [`upgrade`]: WeakProgressBar::upgrade + pub fn new(&self) -> WeakProgressBar { + Default::default() + } + /// Attempts to upgrade the Weak pointer to a [`ProgressBar`], delaying dropping of the inner /// value if successful. Returns `None` if the inner value has since been dropped. ///