瀏覽代碼

AK: Mark some Span functions with [[nodiscard]]

I was confused by the trim() API, thinking it would mutate the span it
was called on. Mark all const functions that return a new span with
[[nodiscard]] so we can catch such mistakes.
Andreas Kling 4 年之前
父節點
當前提交
050eb5afa8
共有 1 個文件被更改,包括 3 次插入3 次删除
  1. 3 3
      AK/Span.h

+ 3 - 3
AK/Span.h

@@ -134,18 +134,18 @@ public:
     ALWAYS_INLINE constexpr bool is_null() const { return this->m_values == nullptr; }
     ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
 
-    ALWAYS_INLINE constexpr Span slice(size_t start, size_t length) const
+    [[nodiscard]] ALWAYS_INLINE constexpr Span slice(size_t start, size_t length) const
     {
         ASSERT(start + length <= size());
         return { this->m_values + start, length };
     }
-    ALWAYS_INLINE constexpr Span slice(size_t start) const
+    [[nodiscard]] ALWAYS_INLINE constexpr Span slice(size_t start) const
     {
         ASSERT(start <= size());
         return { this->m_values + start, size() - start };
     }
 
-    ALWAYS_INLINE constexpr Span trim(size_t length) const
+    [[nodiscard]] ALWAYS_INLINE constexpr Span trim(size_t length) const
     {
         return { this->m_values, min(size(), length) };
     }