# manual-is-finite

Prefer `.isFinite()` over equivalent infinity comparisons

Strict infinity bounds and an absolute-value comparison with positive infinity perform the same finite-value classification.
Instead, you SHOULD call `.isFinite()` on that value.

Paired `!=` checks are excluded because NaN satisfies both comparisons.

- Category: style
- Level: warning
- Fix: suggestion
- Scope: module

## Reported

```ds title="main.ds"
function finite(value: float64): boolean {
    return value > -Infinity && value < Infinity;
}
```

## Accepted

```ds title="main.ds"
function finite(value: float64): boolean {
    return value.isFinite();
}
```

## Prior art

- [Clippy · manual_is_finite](https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_finite)

[language/linter/src/rules/style/manual_is_finite.rs:8](https://github.com/destack-sh/destack/blob/main/language/linter/src/rules/style/manual_is_finite.rs#L8)
