rustqual 1.6.0

Comprehensive Rust code quality analyzer — seven dimensions: IOSP, Complexity, DRY, SRP, Coupling, Test Quality, Architecture
Documentation
//! Rule card for the IOSP dimension (single-kind).

use super::RuleCard;

pub(super) const CARDS: &[RuleCard] = &[RuleCard {
    id: "iosp/violation",
    title: "Function violates the Integration Operation Segregation Principle",
    detects: "A function that both calls other project functions AND contains \
        its own logic (if/for/match/computation) — neither a pure Integration \
        (orchestration only) nor a pure Operation (logic only).",
    why: "Mixed functions interleave decisions with delegation, so neither the \
        flow nor the logic can be read, tested, or reused on its own; defects \
        hide in the seams between the two.",
    fix: "Extract the logic into Operation functions and keep this function as \
        a pure orchestrator — or inline the orchestration so the function \
        becomes a pure Operation. In lenient mode (default), closures and \
        iterator chains do not count as logic; for-loops and matches whose \
        every arm only delegates count as dispatch.",
    suppress: "// qual:allow(iosp) reason: \"\" — the bare form (iosp has no \
        sub-targets); legacy alias // iosp:allow.",
    config: "[weights] iosp sets the dimension weight; --strict-closures / \
        --strict-iterators tighten the leniency rules.",
}];