ps-promise 0.1.0-16

Promise-like owned futures
Documentation
use std::fmt::Debug;

use crate::{Promise, PromiseRejection};

impl<T, E> Debug for Promise<T, E>
where
    T: Unpin + Debug,
    E: PromiseRejection + Debug,
{
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut fmt = f.debug_struct("Promise");

        match self {
            Self::Pending(_) => fmt.field("state", &"Pending"),
            Self::Resolved(value) => fmt.field("resolved", value),
            Self::Rejected(err) => fmt.field("rejected", err),
            Self::Consumed => fmt.field("state", &"Consumed"),
        };

        fmt.finish()
    }
}