Skip to content

Commit 0758ff0

Browse files
committed
Add section about semver list to contributing guide
1 parent f8ba06b commit 0758ff0

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

CONTRIBUTING.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,24 @@ at, fear not! This crate has CI support which tests any binding against all
2828
platforms supported, so you'll see failures if an API is added at the wrong
2929
level or has different signatures across platforms.
3030

31+
New symbol(s) (i.e. functions, constants etc.) should also be added to the
32+
symbols list(s) found in the `libc-test/semver` directory. These lists keep
33+
track of what symbols are public in the libc crate and ensures they remain
34+
available between changes to the crate. If the new symbol(s) are available on
35+
all supported Unixes it should be added to `unix.txt` list<sup>1</sup>,
36+
otherwise they should be added to the OS specific list(s).
37+
3138
With that in mind, the steps for adding a new API are:
3239

3340
1. Determine where in the module hierarchy your API should be added.
34-
2. Add the API.
41+
2. Add the API, including adding new symbol(s) to the semver lists.
3542
3. Send a PR to this repo.
3643
4. Wait for CI to pass, fixing errors.
3744
5. Wait for a merge!
3845

46+
<sup>1</sup>: Note that this list has nothing to do with any Unix or Posix
47+
standard, it's just a list shared between all OSs that declare `#[cfg(unix)]`.
48+
3949
## Test before you commit
4050

4151
We have two automated tests running on [GitHub Actions](https://github.com/rust-lang/libc/actions):

0 commit comments

Comments
 (0)