From dd5325db2a2af7c04ca20431d86a4c4433573e38 Mon Sep 17 00:00:00 2001 From: Paul Pan Date: Wed, 20 Mar 2024 21:18:32 +0800 Subject: [PATCH] fix: add missing bound for KernelObject --- api/src/cap.rs | 2 +- kernel/src/objects/null.rs | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) 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 }