Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit e433291

Browse files
Draft a CONTRIBUTING.md (rust-lang#33)
1 parent 4872901 commit e433291

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

CONTRIBUTING.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Contributing to `std::simd`
2+
3+
Simple version:
4+
1. Fork it and `git clone` it
5+
2. Create your feature branch: `git checkout -b my-branch`
6+
3. Write your changes.
7+
4. Test it: `cargo test`. Remember to enable whatever SIMD features you intend to test by setting `RUSTFLAGS`.
8+
5. Commit your changes: `git commit add ./path/to/changes && git commit -m 'Fix some bug'`
9+
6. Push the branch: `git push --set-upstream origin my-branch`
10+
7. Submit a pull request!
11+
12+
## Taking on an Issue
13+
14+
SIMD can be quite complex, and even a "simple" issue can be huge. If an issue is organized like a tracking issue, with an itemized list of items that don't necessarily have to be done in a specific order, please take the issue one item at a time. This will help by letting work proceed apace on the rest of the issue. If it's a (relatively) small issue, feel free to announce your intention to solve it on the issue tracker and take it in one go!
15+
16+
## CI
17+
18+
We currently have 2 CI matrices through Travis CI and GitHub Actions that will automatically build and test your change in order to verify that `std::simd`'s portable API is, in fact, portable. If your change builds locally, but does not build on either, this is likely due to a platform-specific concern that your code has not addressed. Please consult the build logs and address the error, or ask for help if you need it.
19+
20+
## Beyond stdsimd
21+
22+
A large amount of the core SIMD implementation is found in the rustc_codegen_* crates in the [main rustc repo](https://github.com/rust-lang/rust). In addition, actual platform-specific functions are implemented in [stdarch]. Not all changes to `std::simd` require interacting with either of these, but if you're wondering where something is and it doesn't seem to be in this repository, those might be where to start looking.
23+
24+
## Questions? Concerns? Need Help?
25+
26+
Please feel free to ask in the [#project-portable-simd][zulip-portable-simd] stream on the [rust-lang Zulip][zulip] for help with making changes to `std::simd`!
27+
If your changes include directly modifying the compiler, it might also be useful to ask in [#t-compiler/help][zulip-compiler-help].
28+
29+
[zulip-portable-simd]: https://rust-lang.zulipchat.com/#narrow/stream/257879-project-portable-simd
30+
[zulip-compiler-help]: https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp
31+
[zulip]: https://rust-lang.zulipchat.com
32+
[stdarch]: https://github.com/rust-lang/stdarch

0 commit comments

Comments
 (0)