oxilean-runtime 0.1.2

OxiLean runtime - Memory management, closures, I/O, and task scheduling
Documentation
//! # SharedThunk - Trait Implementations
//!
//! This module contains trait implementations for `SharedThunk`.
//!
//! ## Implemented Traits
//!
//! - `Debug`
//!
//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)

use super::types::SharedThunk;
use std::fmt;

impl<T: Clone + fmt::Debug + Send + Sync + 'static> fmt::Debug for SharedThunk<T> {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        let guard = self.inner.lock().unwrap_or_else(|e| e.into_inner());
        if let Some(v) = guard.value.get() {
            write!(f, "SharedThunk::Evaluated({:?})", v)
        } else {
            write!(f, "SharedThunk::Unevaluated")
        }
    }
}