Skip to content

Latest commit

 

History

History
40 lines (28 loc) · 1.57 KB

CONTRIBUTING.md

File metadata and controls

40 lines (28 loc) · 1.57 KB

Contributing

Contributions are always welcome -- RTP (and its associated extensions) cover decades of work and standardisation, so there's inevitably something missing. Feel free to start a discussion or open a PR!

Pull Requests

DiscoRTP has 2 branches:

  • stable -- the latest in-development branch featuring bug fixes and non-breaking API changes.
  • breaking -- the superset of commits merged to stable with breaking changes. This includes bumping up the minimum supported rust version.

Bugfixes and API-respecting changes (including new functionality which does not change existing user-facing aspects) should target stable. Significant rework (or a necessary compiler upgrade) should target breaking. PRs should avoid bumping the minimum supported rust compiler version where possible, and any changes targeting stable must compile on the version indicated in README.md.

Formatting

PRs must pass through rustfmt (as described below) before merging.

Issues

Issues can be used for discussion of bugs, library design, or feature requests.

Bug Reports

Please include your Rust compiler version (rustc -V), the version of DiscoRTP, and a minimal test case if possible.

Code Style

We use the nightly rustfmt to automatically format code, like so:

cargo +nightly fmt

At a high level, this enforces:

  • Unix line endings,
  • 100-char width,
  • Tabs (\t) indentation,
  • Trailing commas in match blocks.

Documentation, comments, and function names should adhere to UK English where possible (i.e., "colour" and not "color").