raffia/
pos.rs

1#[cfg(feature = "serialize")]
2use serde::Serialize;
3
4/// Span represents a range of a piece of source code.
5/// It counts by offset, so it's 0-based.
6#[derive(Clone, Debug, Hash, PartialEq, Eq)]
7#[cfg_attr(feature = "serialize", derive(Serialize))]
8pub struct Span {
9    /// Start offset. (Inclusive)
10    pub start: usize,
11    /// End offset. (Exclusive)
12    pub end: usize,
13}
14
15pub trait Spanned {
16    fn span(&self) -> &Span;
17}