k_scoped_lock: Mark class as [[nodiscard]]

Prevents logic bugs of the kind described in the previous commit from
slipping through.
This commit is contained in:
Lioncash 2021-04-07 01:23:06 -04:00
parent 97e2604575
commit bc30aa8249

View File

@ -20,7 +20,7 @@ concept KLockable = !std::is_reference_v<T> && requires(T & t) {
}; };
template <typename T> template <typename T>
requires KLockable<T> class KScopedLock { requires KLockable<T> class [[nodiscard]] KScopedLock {
public: public:
explicit KScopedLock(T* l) : lock_ptr(l) { explicit KScopedLock(T* l) : lock_ptr(l) {
this->lock_ptr->Lock(); this->lock_ptr->Lock();