diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-15 11:22:55 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-15 11:25:36 +0100 |
| commit | 6b4d761818b79a6fc17607e15d939154b4d8314f (patch) | |
| tree | 0a6188f201afebc4b5a22bae9f0744d7be7495f1 /src/kernel/NeKit/ErrorOr.h | |
| parent | cceb0a70efef009b87198796eb9016ffb82c7130 (diff) | |
feat: New Nullable system, and improved Vettable system.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/kernel/NeKit/ErrorOr.h')
| -rw-r--r-- | src/kernel/NeKit/ErrorOr.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/kernel/NeKit/ErrorOr.h b/src/kernel/NeKit/ErrorOr.h index 4e43cb27..5fa8054b 100644 --- a/src/kernel/NeKit/ErrorOr.h +++ b/src/kernel/NeKit/ErrorOr.h @@ -25,10 +25,15 @@ class ErrorOr final { public: using RefType = Ref<T>; using Type = T; + using TypePtr = T*; + + explicit ErrorOr(ErrorT err) : mRef((T*) RTL_ALLOCA(sizeof(T))), mId(err) { + // AMLALE: Invalidate the value of mRef to make computational evaluations false. + mRef = nullptr; + } - explicit ErrorOr(ErrorT err) : mRef((T*) RTL_ALLOCA(sizeof(T))), mId(err) {} explicit ErrorOr(nullPtr) {} - explicit ErrorOr(Type* klass) : mRef(klass) {} + explicit ErrorOr(TypePtr klass) : mRef(klass) {} explicit ErrorOr(Type klass) : mRef(klass) {} ErrorOr& operator=(const ErrorOr&) = default; |
