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.
This commit is contained in:
Brian Gianforcaro 2021-02-14 15:21:38 -08:00 committed by Andreas Kling
parent 3356f438ca
commit 01a66efe9d

View file

@ -141,27 +141,27 @@ public:
[[nodiscard]] bool is_error() const { return m_is_error; }
ALWAYS_INLINE KResult error() const
[[nodiscard]] ALWAYS_INLINE KResult error() const
{
ASSERT(m_is_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);
return *reinterpret_cast<T*>(&m_storage);
}
ALWAYS_INLINE const T& value() const
[[nodiscard]] ALWAYS_INLINE const T& value() const
{
ASSERT(!m_is_error);
return *reinterpret_cast<T*>(&m_storage);
}
ALWAYS_INLINE T release_value()
[[nodiscard]] ALWAYS_INLINE T release_value()
{
ASSERT(!m_is_error);
ASSERT(m_have_storage);