no-diverging-subexpression Disallow diverging operations inside continuing expressions A diverging operand prevents the surrounding expression from reaching operations that follow it. Instead, you SHOULD place the diverging operation in explicit control flow. - Category: suspicious - Level: warning - Fix: none - Scope: module Reported declare function stop(): never; function require(active: boolean): boolean { return active || stop(); } Accepted declare function stop(): never; function require(active: boolean): boolean { if (!active) { stop(); } return true; } Prior art - Clippy ยท divergingsubexpression language/linter/src/rules/suspicious/nodivergingsubexpression.rs:6