[clang-tools-extra] [clang-tidy] Create bugprone-incorrect-enable-shared-from-this check (PR #102299)

via cfe-commits cfe-commits at lists.llvm.org
Sun Oct 13 20:39:19 PDT 2024


================
@@ -0,0 +1,34 @@
+.. title:: clang-tidy - bugprone-incorrect-enable-shared-from-this
+
+bugprone-incorrect-enable-shared-from-this
+==========================================
+
+Detects if a class or struct publicly inherits from 
+``std::enable_shared_from_this``, because unintended behavior will 
+otherwise occur when calling ``shared_from_this``.
+
+Consider the following code:
+
+.. code-block:: c++
+
+    #include <memory>
+
+    // private inheritance
+    class BadExample : std::enable_shared_from_this<BadExample> {
+    
+    // ``shared_from_this``` unintended behaviour
+    // libstd implementation returns uninitialized ``weak_ptr``
----------------
MichelleCDjunaidi wrote:

oops, missed this by mistake. will fix.

https://github.com/llvm/llvm-project/pull/102299


More information about the cfe-commits mailing list