1use std::{error, fmt};
2
3#[derive(Debug)]
4#[non_exhaustive]
5pub enum Error {
6 Uninitialized,
8
9 AlreadyConsumed,
11
12 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 {}