use std::ops::Range;
#[derive(Debug, Clone)]
pub struct SpanWrap(Range<usize>);
impl From<Range<usize>> for SpanWrap {
#[inline]
fn from(range: Range<usize>) -> Self {
SpanWrap(range)
}
}
impl From<&'_ Range<usize>> for SpanWrap {
#[inline]
fn from(range: &'_ Range<usize>) -> Self {
SpanWrap(Range::clone(range))
}
}
impl slog::Value for SpanWrap {
fn serialize(
&self,
_: &slog::Record,
key: slog::Key,
serializer: &mut dyn slog::Serializer,
) -> slog::Result {
let value = format!("{}..{}", self.0.start, self.0.end);
serializer.emit_str(key, &value)
}
}