================
@@ -0,0 +1,49 @@
+.. title:: clang-tidy - readability-redundant-const
+
+readability-redundant-const
+===========================
+
+Detects redundant ``const`` specifiers on variable declarations.
+
+Examples:
+
+.. code-block:: c++
+
+   // Finds:
+   constexpr const int var = 10;  // redundant use of `const`
+   // replaced by:
+   constexpr int var = 10;
+
+   // Finds:
+   constexpr const int arr[] = {}; // redundant use of `const`
+   // replaced by:
+   constexpr int arr[] = {};
+
+In the examples above, use of ``const`` is redundant since ``constexpr``
+variables are implicitly ``const``.
+
+The check also analyzes pointers:
+
+.. code-block:: c++
+
+   // Finds:
+   constexpr int* const ptr = nullptr; // redundant use of `const`
+   // replaced by:
+   constexpr int* ptr = nullptr;
+
+   // Finds:
+   constexpr int (*const func)(int) = nullptr; // redundant use of `const`
+   // replaced by:
+   constexpr int (*func)(int) = nullptr;
+
+   // Finds:
+   constexpr const char* const greet = "hi"; // redundant use of `const`
+   // replaced by:
+   constexpr const char* greet = "hi";
+
+   // Note that `constexpr` only makes the pointer const but not the pointee.
+   // Thus, this usage is *not* redundant.
+   constexpr const char* ok = "ok"; // OK
+
+
+Requires C++11 or C23.
----------------
vbvictor wrote:

Lets remove this, it should be obvious when `constexpr` is available

https://github.com/llvm/llvm-project/pull/189733
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to