# adjacent-overload-signatures

Require overload signatures for one declaration to be adjacent

Separated overload signatures allow call forms to be missed when inspecting a declaration.
Instead, you SHOULD keep every overload for one function or member in one uninterrupted group.

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

## Reported

```ds title="main.ds"
declare function parse(value: string): string;
declare function format(value: string): string;
declare function parse(value: int32): string;
```

## Accepted

```ds title="main.ds"
declare function parse(value: string): string;
declare function parse(value: int32): string;
declare function format(value: string): string;
```

## Prior art

- [typescript-eslint · adjacent-overload-signatures](https://typescript-eslint.io/rules/adjacent-overload-signatures)

[language/linter/src/rules/style/adjacent_overload_signatures.rs:11](https://github.com/destack-sh/destack/blob/main/language/linter/src/rules/style/adjacent_overload_signatures.rs#L11)
