summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/NeKit/ErrorOr.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-29 17:19:57 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-29 17:19:57 +0200
commit81027667166d9624ee12f45f011426678d1bbbf4 (patch)
treed12fd352d23ae9c9a167c2c1b8b98c2c9cac2df7 /dev/kernel/NeKit/ErrorOr.h
parent3167f59dbb401d6a79b1524537e04218baf49ee3 (diff)
feat: Improve libSystem's architecture and implementation.
fix: Fix NeKit's Ref, and ErrorOr classes. fix: Fix userland tools. next: - Finish the latest tickets and then release nekernel 0.0.3 Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/NeKit/ErrorOr.h')
-rw-r--r--dev/kernel/NeKit/ErrorOr.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/dev/kernel/NeKit/ErrorOr.h b/dev/kernel/NeKit/ErrorOr.h
index d7751b7e..5e983d09 100644
--- a/dev/kernel/NeKit/ErrorOr.h
+++ b/dev/kernel/NeKit/ErrorOr.h
@@ -18,13 +18,13 @@ using ErrorT = UInt;
template <typename T>
class ErrorOr final {
public:
- ErrorOr() = default;
+ explicit ErrorOr() = default;
~ErrorOr() = default;
public:
- explicit ErrorOr(Int32 err) : mId(err) {}
+ explicit ErrorOr(Int32 err) : mRef((T*)RTL_ALLOCA(sizeof(T))), mId(err) {}
- explicit ErrorOr(nullPtr Null) {}
+ explicit ErrorOr(nullPtr) {}
explicit ErrorOr(T* Class) : mRef(Class) {}
@@ -48,7 +48,7 @@ class ErrorOr final {
private:
Ref<T> mRef;
- UInt32 mId{0};
+ Int32 mId{0};
};
using ErrorOrAny = ErrorOr<voidPtr>;