Skip to content

Commit

Permalink
chore(docs): notes on unstable rustc in HACKING.md
Browse files Browse the repository at this point in the history
Summary: Some notes to help guide potential contributors or lurkers
who are interested. Also has some notes on my use of tagref to keep
track of this stuff.

The goal is to not sound too passive, but also not overbearing, either.

GitHub Issue: facebook#265

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Change-Id: Itryyrvmlvxmssvxmwkxlrpyulvlwmlyq
  • Loading branch information
thoughtpolice committed Jul 1, 2023
1 parent 4948ae9 commit 1a909e7
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions HACKING.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,37 @@ have written. Some rules:
- Lists should use square brackets, e.g. ``Available targets: [`aa`, `bb`]``.
- Error messages should start with an upper case letter. Error messages should
not end with a period.

### Unstable `rustc` features

<!-- [tag:unstable-rustc] -->

There is some effort to move away from using unstable Rust features in the
codebase; the primary motivator for this is to ease consumption by third
parties, who will often not allow unstable `rustc` toolchains in their projects,
see https://github.com/facebook/buck2/issues/265 for some discussion and
examples.

There are other concerns as well, such as compiler stability, but the primary
motivator is to meet users where they are at.

In general, unstable feature usage is currently allowed, and there is currently
NO commitment to keep the codebase working with the stable `rustc` release. If
such a thing happens, it will be decided and &mdash; most likely, very loudly
&mdash; communicated and enforced.

If you want to build buck2 with a stable Rust compiler, please help out and
submit patches. If you are _not_ concerned with this, then carry on as usual,
though it would be nice to avoid too many gratuitous unstable features if you
can.

**NOTE**: If you want to look around the codebase for notes on unstable feature
usage, and to keep track of progress, please keep track of issue #265 above; you
can also use the **[tagref]** tool to search for references to this task in the
codebase with the following command and learn more or help:

[tagref]: https://github.com/stepchowfun/tagref

```bash
tagref list-refs | grep ref:unstable-rustc
```

0 comments on commit 1a909e7

Please sign in to comment.