diff --git a/api/src/cap.rs b/api/src/cap.rs index 6f078fd..30e2053 100644 --- a/api/src/cap.rs +++ b/api/src/cap.rs @@ -1,4 +1,4 @@ -#[derive(Clone, Copy, FromPrimitive, ToPrimitive)] +#[derive(Clone, Copy, Eq, PartialEq, FromPrimitive, ToPrimitive)] pub enum ObjectType { Null = 0, CNode = 1, diff --git a/kernel/src/objects/null.rs b/kernel/src/objects/null.rs index c3e2cc6..645b166 100644 --- a/kernel/src/objects/null.rs +++ b/kernel/src/objects/null.rs @@ -6,10 +6,13 @@ use core::marker::PhantomData; /// NullObject is used as empty (capability) slot pub struct NullObject {} pub type NullCap<'a> = Cap<'a, NullObject>; +impl KernelObject for NullObject { + const OBJ_TYPE: ObjectType = ObjectType::Null; +} impl<'a> NullCap<'a> { pub fn mint() -> RawCap { - let mut cap = RawCap::new(0, 0, ObjectType::Null); + let cap = RawCap::new(0, 0, ObjectType::Null); cap }