================
@@ -0,0 +1,32 @@
+.. title:: clang-tidy - bugprone-casting-through-void
+
+bugprone-casting-through-void
+=============================
+
+A check detects unsafe or redundant two-step casting operations involving 
``void*``.
+
+Two-step type conversions via void* are discouraged for several reasons.
+
+1. They obscure code and impede its understandability, complicating 
maintenance.
+2. These conversions bypass valuable compiler support, erasing warnings related
+   to pointer alignment. It may violate strict aliasing rule and leading to
+   undefined behavior.
+3. In scenarios involving multiple inheritance, ambiguity and unexpected 
outcomes
+   can arise due to the loss of type information, posing runtime issues.
+
+In summary, avoiding two-step type conversions through void* ensures clearer 
code,
+maintains essential compiler warnings, and prevents ambiguity and potential 
runtime
+errors, particularly in complex inheritance scenarios.
+
+Examples:
+
+.. code-block:: c++
----------------
PiotrZSL wrote:

add new line after code-block

https://github.com/llvm/llvm-project/pull/69465
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to