failing method

Iterable<Issue> failing({
  1. required bool strict,
  2. required bool strictLength,
})

Issues that map to a non-zero exit code under strict.

length_ratio warnings are special: --strict alone doesn't promote them (length ratios are heuristic and noisy in CI). --strict-length is the explicit opt-in. The check command passes the flags through; the report formatter mirrors this so the display tag matches the exit-code logic.

Implementation

Iterable<Issue> failing({
  required bool strict,
  required bool strictLength,
}) sync* {
  for (final issue in issues) {
    if (issue.severity == IssueSeverity.error) {
      yield issue;
    } else if (strict && _promotedUnderStrict(issue, strictLength)) {
      yield issue;
    }
  }
}