diff options
Diffstat (limited to 'oryxc/src/prelude.rs')
| -rw-r--r-- | oryxc/src/prelude.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/oryxc/src/prelude.rs b/oryxc/src/prelude.rs new file mode 100644 index 0000000..78e7597 --- /dev/null +++ b/oryxc/src/prelude.rs @@ -0,0 +1,31 @@ +use std::fmt::{ + self, + Debug, + Formatter, +}; + +#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] +pub struct FileId(pub usize); + +#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] +pub struct NodeId(pub u32); + +#[derive(Clone, Copy)] +pub struct SubNodes(pub u32, pub u32); + +impl Debug for SubNodes { + fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { + let __ = format_args!("_"); + return f + .debug_tuple("SubNodes") + .field(if self.0 != u32::MAX { &self.0 } else { &__ }) + .field(if self.1 != u32::MAX { &self.1 } else { &__ }) + .finish(); + } +} + +impl Default for SubNodes { + fn default() -> Self { + return Self(u32::MAX, u32::MAX); + } +} |