This rule raises an issue when a constant expression is used as a condition in an ``++if++``, ``++elif++``, a conditional expression or other boolean expressions. == Why is this an issue? When a constant is used as a condition, either it has no effect on the execution flow and it can be removed, or some code will never be executed and it is a bug. === Noncompliant code example [source,python,diff-id=1,diff-type=noncompliant] ---- def foo(): a = True if a: # Noncompliant: the condition is always true return 1 else: return 2 ---- === Compliant solution [source,python,diff-id=1,diff-type=compliant] ---- def foo(): a = bar() if a: return 1 else: return 2 ---- == Resources === Documentation * Python documentation - https://www.python.org/dev/peps/pep-0285/[PEP 285 - Adding a bool type] * Python documentation - https://docs.python.org/3/library/stdtypes.html#truth-value-testing[Python documentation - Truth Value Testing]