#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] | |
pub struct Token(pub usize); | |
use slab; | |
impl Token { | |
#[inline] | |
pub fn as_usize(self) -> usize { | |
let Token(inner) = self; | |
inner | |
} | |
} | |
impl slab::Index for Token { | |
fn from_usize(i: usize) -> Token { | |
Token(i) | |
} | |
fn as_usize(&self) -> usize { | |
Token::as_usize(*self) | |
} | |
} |