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!
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.
PRs must pass through rustfmt
(as described below) before merging.
Issues can be used for discussion of bugs, library design, or feature requests.
Please include your Rust compiler version (rustc -V
), the version of DiscoRTP, and a minimal test case if possible.
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").