Display for Trace
This commit is contained in:
parent
509241a682
commit
a28ee0779f
@ -1,4 +1,5 @@
|
||||
use std::{
|
||||
fmt::Display,
|
||||
marker::PhantomData,
|
||||
pin::Pin,
|
||||
task::{Context, Poll},
|
||||
@ -383,9 +384,26 @@ pub trait AsTrace {
|
||||
|
||||
pub enum Trace<'trace> {
|
||||
Pure,
|
||||
Flatten(&'trace dyn AsTrace, &'trace dyn AsTrace),
|
||||
Map(&'trace dyn AsTrace),
|
||||
Join(&'trace dyn AsTrace, &'trace dyn AsTrace),
|
||||
Flatten(&'trace dyn AsTrace, &'trace dyn AsTrace),
|
||||
}
|
||||
|
||||
impl Display for &dyn AsTrace {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
write!(f, "{}", self.as_trace())
|
||||
}
|
||||
}
|
||||
|
||||
impl Display for Trace<'_> {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
match self {
|
||||
Self::Pure => write!(f, "."),
|
||||
Self::Map(a) => write!(f, "{a}*"),
|
||||
Self::Join(a, b) => write!(f, "({a},{b})"),
|
||||
Self::Flatten(o, i) => write!(f, "{{{o};{i}}}"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl AsTrace for TracePure {
|
||||
|
Loading…
Reference in New Issue
Block a user