== Why is this an issue? While working with bitwise operators ``++&++`` or ``++|++``, it is easy to make a typo and write the equivalent logical operators ``++&&++`` or ``++||++``. This rule raises an issue when the right operand of a logical expression ``++&&++`` or ``++||++`` is a constant of integral type, as the developer probably meant to use the corresponding bitwise operator ``++&++`` or ``++|++``. === Noncompliant code example [source,cpp,diff-id=1,diff-type=noncompliant] ---- int fun(int a) { return a || 4; // Noncompliant: did you mean to use bitwise operator '|'? } ---- === Compliant solution [source,cpp,diff-id=1,diff-type=compliant] ---- int fun(int a) { return a | 4; } ---- == Resources * {cpp} reference - https://en.cppreference.com/w/cpp/language/operator_arithmetic#Bitwise_logic_operators[Bitwise logic operators] * {cpp} reference - https://en.cppreference.com/w/cpp/language/operator_logical[Logical operators] ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Review this logical (&& | ||) expression with constant operand. endif::env-github,rspecator-view[]