diff options
author | Thomas de Zeeuw <thomasdezeeuw@gmail.com> | 2021-03-26 12:26:33 +0100 |
---|---|---|
committer | Thomas de Zeeuw <thomasdezeeuw@gmail.com> | 2021-03-27 10:27:17 +0100 |
commit | 0758ff06a0c8b27db023612d072bd006e0c61d0b (patch) | |
tree | a35bdb11d68c078f405e04ed6ac4e831732dec0e | |
parent | f8ba06be3acf7a71383cb9d01883e073e207e94e (diff) | |
download | rust-libc-0758ff06a0c8b27db023612d072bd006e0c61d0b.tar.gz |
Add section about semver list to contributing guide
-rw-r--r-- | CONTRIBUTING.md | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5d52cad7fc..5be6eb9be4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -28,14 +28,24 @@ at, fear not! This crate has CI support which tests any binding against all platforms supported, so you'll see failures if an API is added at the wrong level or has different signatures across platforms. +New symbol(s) (i.e. functions, constants etc.) should also be added to the +symbols list(s) found in the `libc-test/semver` directory. These lists keep +track of what symbols are public in the libc crate and ensures they remain +available between changes to the crate. If the new symbol(s) are available on +all supported Unixes it should be added to `unix.txt` list<sup>1</sup>, +otherwise they should be added to the OS specific list(s). + With that in mind, the steps for adding a new API are: 1. Determine where in the module hierarchy your API should be added. -2. Add the API. +2. Add the API, including adding new symbol(s) to the semver lists. 3. Send a PR to this repo. 4. Wait for CI to pass, fixing errors. 5. Wait for a merge! +<sup>1</sup>: Note that this list has nothing to do with any Unix or Posix +standard, it's just a list shared between all OSs that declare `#[cfg(unix)]`. + ## Test before you commit We have two automated tests running on [GitHub Actions](https://github.com/rust-lang/libc/actions): |