#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub struct Span {
pub start: usize,
pub end: usize,
}
impl Span {
#[inline]
pub fn slice_in<'src>(self, whole: &'src str) -> Option<&'src str> {
whole.get(self.start..self.end)
}
#[inline]
pub fn len(&self) -> usize {
self.end.saturating_sub(self.start)
}
#[inline]
pub fn is_empty(&self) -> bool {
self.start >= self.end
}
}