awaitable_error/
lib.rs

1use std::{error, fmt};
2
3#[derive(Debug)]
4#[non_exhaustive]
5pub enum Error {
6    /// Awaitable is not initialized yet.
7    Uninitialized,
8
9    /// Awaitable is already consumed but not yet reset.
10    AlreadyConsumed,
11
12    /// Awaitable is marked done twice.
13    AlreadyDone,
14}
15
16impl fmt::Display for Error {
17    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
18        use Error::*;
19
20        f.write_str(match self {
21            Uninitialized => "Awaitable is not initialized yet.",
22            AlreadyConsumed => "Awaitable is already consumed but not yet reset.",
23            AlreadyDone => "Awaitable is marked done twice.",
24        })
25    }
26}
27
28impl error::Error for Error {}