Skip to content

Commit 6cd0b89

Browse files
apirainobjorn3davidtwco
authored
Document repositories maintained by the T-compiler (#918)
Co-authored-by: bjorn3 <[email protected]> Co-authored-by: David Wood <[email protected]>
1 parent 0bc0356 commit 6cd0b89

File tree

3 files changed

+86
-7
lines changed

3 files changed

+86
-7
lines changed

src/SUMMARY.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,21 +50,22 @@
5050
- [GitHub Actions created PR open/closer](./triagebot/bot-pull-requests.md)
5151
- [Community](./community/index.md)
5252
- [Compiler](./compiler/index.md)
53+
- [Backports](./compiler/backports.md)
5354
- [Calendar](./compiler/calendar.md)
5455
- [Cross-team Collaboration](./compiler/cross-team-collaboration.md)
5556
- [Meetings](./compiler/meetings.md)
5657
- [Membership](./compiler/membership.md)
5758
- [Notification groups](./compiler/notification-groups.md)
59+
- [Operations](./compiler/operations.md)
60+
- [Proposals, Approval and Stabilization](./compiler/proposals-and-stabilization.md)
61+
- [Adding ecosystem/integration test jobs/components to `rust-lang/rust` CI](./compiler/proposals-and-stabilization/ecosystem-integration-tests.md)
62+
- [Repositories](./compiler/repositories.md)
5863
- [Resources](./compiler/resources.md)
5964
- [Review Policy](./compiler/reviews.md)
60-
- [Proposals, Approval and Stabilization](./compiler/proposals-and-stabilization.md)
61-
- [Adding ecosystem/integration test jobs/components to `rust-lang/rust` CI](./compiler/proposals-and-stabilization/ecosystem-integration-tests.md)
62-
- [Backports](./compiler/backports.md)
6365
- [Supplemental Tools](./compiler/supplemental-tools.md)
6466
- [Third-party and Out-of-tree Crates Policy](./compiler/third-party-out-of-tree.md)
6567
- [Triage and Prioritization](./compiler/prioritization.md)
6668
- [Working Areas](./compiler/working-areas.md)
67-
- [Operations](./compiler/operations.md)
6869
- [rustc-dev-guide](./wg-rustc-dev-guide/index.md)
6970
- [crates.io](./crates-io/index.md)
7071
- [Crate removal](./crates-io/crate-removal.md)

src/compiler/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ NOTE: please keep the following alphabetically sorted.
1111
-->
1212

1313
- [Backports](./backports.md)
14-
- *How do I request a beta and/or stable backport of a compiler change? How will compiler
14+
- *How do I request a beta and/or stable backport of a compiler change? How will compiler
1515
backport nominations be handled?*
1616
- [Calendar](./calendar.md)
1717
- *How do I subscribe to the compiler team's calendar?*
@@ -23,8 +23,8 @@ NOTE: please keep the following alphabetically sorted.
2323
- *What is expected of compiler team members and how do I join?*
2424
- [Proposals, Approval and Stabilization](./proposals-and-stabilization.md)
2525
- *How do I propose a change to the compiler team? What approval is necessary for my change?*
26-
- [Repositories we maintain](https://github.com/orgs/rust-lang/teams/compiler/repositories)
27-
- *Various code repositories maintained by the Compiler Team*
26+
- [Repositories we maintain](./repositories.md)
27+
- *Various code repositories the team maintains and contributes to*
2828
- [Resources](./resources.md)
2929
- *What useful resources are available for contributors and team members?*
3030
- [Review Policy](./reviews.md)

src/compiler/repositories.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# Repositories maintained by the Compiler Team
2+
3+
While the [rust-lang/rust] repository has the majority of the code for the compiler, there are a handful of additional repositories with other crates/dependencies that the compiler team are responsible for:
4+
5+
To ensure that the team is able to respond to urgent issues that originate in any of these repositories, all members of the compiler team have access to create and merge pull requests. However, each repository typically has team members who are the most familiar with the repository and act as its primary maintainers.
6+
7+
- The [`rustc` development guide][rustc-dev-guide], the entrypoint documentation for those interested in hacking the compiler.
8+
- The [repository][compiler-team] of the team itself, used to register proposals for changes to the compiler or adjacent tooling and components.
9+
- A [`cranelift`][cranelift-backend] experimental rustc backend, based on [Cranelift]. This has the potential to improve compilation times in debug mode. Currently maintained by [bjorn3].
10+
- A Rust port of the [`LLVM::APFloat`][rustc_apfloat] library, maintained by the compiler team. As a port of an LLVM library, this repository has subtly different licensing arrangements than our other repositories, see [rustc_apfloat#licensing].
11+
- A fork of [Enzyme], a high-performance automatic differentiator of LLVM and MLIR (more info at this [link][enzyme-mit]). This fork is maintained by [ZuseZ4].
12+
- [`thorin`][thorin], a DWARF packaging utility supporting GNU extension and DWARF 5 package formats. Primarily maintained by [davidtwco][davidtwco].
13+
- The [Rust Forge], the documentation website you're reading. Co-maintained by the Rust project collectively.
14+
- [`ar_archive_writer`][ar_archive_writer]: Like the other `LLVM::APFloat` library, its license is slightly different than our other repositories, see [ar_archive_writer#licensing].
15+
- [`datafrog`][datafrog], a lightweight [Datalog] engine intended to be embedded in other Rust programs (TODO: status?)
16+
- [`ena`][ena] is an implementation of union-find / congruence-closure in Rust, contains the underlying implementation of our inference variable tables: it's responsible to track the instantiation and merging of inference variables.
17+
- [`literal-escaper`][literal-escaper] is a library to unescape string literals. It is used by [`rustc_lexer`][rustc_lexer] and [`proc_macro`][proc_macro].
18+
- [`miri`][miri] is the interpreter for Rust's mid-level intermediate representation. Detects unsafe code that fails to uphold its safety requirements.
19+
- [`measureme`][measureme] is a library for recording and serializing `rustc` events to a binary format. Currently only for internal use within `rustc` itself.
20+
- [`odht`][odht] is a crate for hash tables that can be mapped from disk into memory without up-front decoding. Currently only for internal use within `rustc` itself.
21+
- [`rustc-demangle`][rustc-demangle]: Demangling for `rustc` symbols ([documentation][rustc_demangle_docs]).
22+
- [`rustc-hash`][rustc-hash] is a non-cryptographic hashing algorithm used by `rustc`
23+
- [`rustc-rayon`][rustc-rayon] is a fork of the Rayon data parallelism library for Rust. This is part of an ongoing effort to parallelize the `rustc` compilation, see our [working areas].
24+
- [`rustc-stable-hash`][rustc-stable-hash] is a cross-platform, deterministic and *not secure* hashing algorithm used by `rustc`.
25+
- [`stacker`][stacker] a library to help grow the stack when it runs out of space, see [documentation][stacker_docs].
26+
27+
Other repositories with tools for internal use:
28+
29+
- [`cargo-bisect`][cargo-bisect]: a tool to bisect [regressions] in the rust compiler, very useful to find where a bug was introduced.
30+
- We have a [calendar] where we all teams register their meetings. Calendar clients can pull the `.ics` files and receive updates.
31+
- [`jobserver-rs`][jobserver-rs]: an implementation of the GNU Make jobserver for Rust, see [documentation][jobserver_docs].
32+
- [`josh-sync`][josh-sync]: a library to perform [`Just One Single History`][josh] synchronizations (pull and push) of Josh subtrees in the rust-lang/rust repository.
33+
34+
If you want to start (or are already) contributing to the Rust project and you have expertise or interest in any of these repositories, feel free to get in touch!
35+
36+
[rust-lang/rust]: https://github.com/rust-lang/rust
37+
[cranelift-backend]: https://github.com/rust-lang/rustc_codegen_cranelift
38+
[cranelift]: https://github.com/bytecodealliance/wasmtime/blob/main/cranelift
39+
[rustc_apfloat]: https://github.com/rust-lang/rustc_apfloat
40+
[rustc_apfloat#licensing]: https://github.com/rust-lang/rustc_apfloat#licensing
41+
[enzyme]: https://github.com/rust-lang/enzyme
42+
[enzyme-mit]: https://enzyme.mit.edu/
43+
[thorin]: https://github.com/rust-lang/thorin
44+
[rust forge]: https://github.com/rust-lang/rust-forge
45+
[other]: https://github.com/orgs/rust-lang/teams/compiler/repositories
46+
47+
[calendar]: https://github.com/rust-lang/calendar
48+
[compiler-team]: https://github.com/rust-lang/compiler-team
49+
[cargo-bisect]: https://github.com/rust-lang/cargo-bisect-rustc
50+
[regressions]: https://github.com/rust-lang/rust/issues?q=sort%3Aupdated-desc%20is%3Aissue%20(label%3Aregression-from-stable-to-beta%20OR%20label%3Aregression-untriaged%20OR%20label%3Aregression-from-stable-to-stable)
51+
[rustc-dev-guide]: https://github.com/rust-lang/rustc-dev-guide
52+
[ar_archive_writer]: https://github.com/rust-lang/ar_archive_writer
53+
[ar_archive_writer#licensing]: https://github.com/rust-lang/ar_archive_writer#licensing
54+
[datafrog]: https://github.com/rust-lang/datafrog
55+
[ena]: https://github.com/rust-lang/ena
56+
[literal-escaper]: https://github.com/rust-lang/literal-escaper
57+
[measureme]: https://github.com/rust-lang/measureme
58+
[miri]: https://github.com/rust-lang/miri
59+
[odht]: https://github.com/rust-lang/odht
60+
[rustc-demangle]: https://github.com/rust-lang/rustc-demangle
61+
[rustc-hash]: https://github.com/rust-lang/rustc-hash
62+
[rustc-rayon]: https://github.com/rust-lang/rustc-rayon
63+
[rustc-stable-hash]: https://github.com/rust-lang/rustc-stable-hash
64+
[stacker]: https://github.com/rust-lang/stacker
65+
[stacker_docs]: https://docs.rs/stacker
66+
[datalog]: https://en.wikipedia.org/wiki/Datalog
67+
[rustc_lexer]: https://rustc-dev-guide.rust-lang.org/the-parser.html
68+
[proc_macro]: https://rustc-dev-guide.rust-lang.org/macro-expansion.html#procedural-macros
69+
[rustc_demangle_docs]: https://docs.rs/rustc-demangle
70+
[working areas]: ./working-areas.html#working-areas
71+
[jobserver-rs]: https://github.com/rust-lang/jobserver-rs
72+
[jobserver_docs]: https://docs.rs/jobserver
73+
[josh]: https://github.com/josh-project/josh
74+
[josh-sync]: https://github.com/rust-lang/josh-sync
75+
76+
[bjorn3]: https://github.com/bjorn3
77+
[zusez4]: https://github.com/ZuseZ4
78+
[davidtwco]: https://github.com/davidtwco

0 commit comments

Comments
 (0)