async_watch2/error.rs
1use std::fmt;
2
3/// Error produced when sending a value fails.
4#[derive(Debug)]
5pub struct SendError<T> {
6 pub(crate) inner: T,
7}
8
9// ===== impl SendError =====
10
11impl<T> SendError<T> {
12 /// Returns the data being sent (by [`broadcast`](fn@crate::Sender::broadcast))
13 /// so it can be recovered.
14 pub fn value(self) -> T {
15 self.inner
16 }
17}
18
19impl<T: fmt::Debug> fmt::Display for SendError<T> {
20 fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
21 write!(fmt, "channel closed")
22 }
23}
24
25impl<T: fmt::Debug> std::error::Error for SendError<T> {}