structs r a lot more sane in code, can now actually assign & stuff
This commit is contained in:
13
src/ir/id.rs
13
src/ir/id.rs
@@ -1,14 +1,17 @@
|
||||
use std::fmt::Debug;
|
||||
|
||||
#[derive(Clone, Copy, Eq, Hash, PartialEq)]
|
||||
pub struct TypeID(pub usize);
|
||||
pub struct StructID(pub usize);
|
||||
#[derive(Clone, Copy, Eq, Hash, PartialEq)]
|
||||
pub struct VarID(pub usize);
|
||||
#[derive(Clone, Copy, Eq, Hash, PartialEq)]
|
||||
pub struct FnID(pub usize);
|
||||
#[derive(Clone, Copy, Eq, Hash, PartialEq)]
|
||||
pub struct DataID(pub usize);
|
||||
#[derive(Clone, Copy, Eq, Hash, PartialEq)]
|
||||
pub struct FieldID(pub usize);
|
||||
|
||||
// I had an idea for why these were different... now I don't
|
||||
pub type Size = u32;
|
||||
pub type Len = u32;
|
||||
|
||||
@@ -18,7 +21,7 @@ impl Debug for VarID {
|
||||
}
|
||||
}
|
||||
|
||||
impl Debug for TypeID {
|
||||
impl Debug for StructID {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
write!(f, "ty{}", self.0)
|
||||
}
|
||||
@@ -35,3 +38,9 @@ impl Debug for DataID {
|
||||
write!(f, "data{}", self.0)
|
||||
}
|
||||
}
|
||||
|
||||
impl Debug for FieldID {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
write!(f, "field{}", self.0)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user