1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
use std::rc::Rc; use {EmptyObject, Object}; #[derive(Clone, Debug, Serialize)] pub struct Pos { #[serde(skip)] pub object: Rc<Box<Object>>, pub start: usize, pub end: usize, } impl Pos { pub fn empty() -> Pos { Pos { object: Rc::new(Box::new(EmptyObject::new("empty"))), start: 0, end: 0, } } } impl From<(Rc<Box<Object>>, usize, usize)> for Pos { fn from(value: (Rc<Box<Object>>, usize, usize)) -> Self { Pos { object: value.0, start: value.1, end: value.2, } } }