use std::fmt; pub const FIRST_LINE: u32 = 1; pub const FIRST_COL: u32 = 1; /// Location in file #[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd)] pub struct Loc { /// 1-based pub line: u32, /// 1-based pub col: u32, } impl fmt::Display for Loc { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "{}:{}", self.line, self.col) } } impl Loc { pub fn start() -> Loc { Loc { line: FIRST_LINE, col: FIRST_COL, } } }