orx_concurrent_option/common_traits/debug.rs
1use crate::concurrent_option::ConcurrentOption;
2use core::fmt::Debug;
3
4impl<T: Debug> Debug for ConcurrentOption<T> {
5 /// Creates the debug representation.
6 ///
7 /// ```rust
8 /// use orx_concurrent_option::*;
9 /// use core::sync::atomic::Ordering;
10 ///
11 /// let x = ConcurrentOption::some(3.to_string());
12 /// let y = format!("{:?}", x); // debug with default Relaxed ordering
13 /// assert_eq!(y, "ConcurrentSome(\"3\")");
14 ///
15 /// let x = ConcurrentOption::<String>::none();
16 /// let y = format!("{:?}", x);
17 /// assert_eq!(y, "ConcurrentNone");
18 /// ```
19 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
20 let maybe = unsafe { self.as_ref() };
21 write!(f, "Concurrent{:?}", maybe)
22 }
23}