浏览代码

Kernel: Mark KResult getters as [[nodiscard]]

There is no reason to call a getter without observing the result, doing
so indicates an error in the code. Mark these methods as [[nodiscard]]
to find these cases.
Brian Gianforcaro 4 年之前
父节点
当前提交
01a66efe9d
共有 1 个文件被更改,包括 5 次插入5 次删除
  1. 5 5
      Kernel/KResult.h

+ 5 - 5
Kernel/KResult.h

@@ -141,27 +141,27 @@ public:
 
 
     [[nodiscard]] bool is_error() const { return m_is_error; }
     [[nodiscard]] bool is_error() const { return m_is_error; }
 
 
-    ALWAYS_INLINE KResult error() const
+    [[nodiscard]] ALWAYS_INLINE KResult error() const
     {
     {
         ASSERT(m_is_error);
         ASSERT(m_is_error);
         return m_error;
         return m_error;
     }
     }
 
 
-    KResult result() const { return m_is_error ? m_error : KSuccess; }
+    [[nodiscard]] KResult result() const { return m_is_error ? m_error : KSuccess; }
 
 
-    ALWAYS_INLINE T& value()
+    [[nodiscard]] ALWAYS_INLINE T& value()
     {
     {
         ASSERT(!m_is_error);
         ASSERT(!m_is_error);
         return *reinterpret_cast<T*>(&m_storage);
         return *reinterpret_cast<T*>(&m_storage);
     }
     }
 
 
-    ALWAYS_INLINE const T& value() const
+    [[nodiscard]] ALWAYS_INLINE const T& value() const
     {
     {
         ASSERT(!m_is_error);
         ASSERT(!m_is_error);
         return *reinterpret_cast<T*>(&m_storage);
         return *reinterpret_cast<T*>(&m_storage);
     }
     }
 
 
-    ALWAYS_INLINE T release_value()
+    [[nodiscard]] ALWAYS_INLINE T release_value()
     {
     {
         ASSERT(!m_is_error);
         ASSERT(!m_is_error);
         ASSERT(m_have_storage);
         ASSERT(m_have_storage);