rust/triagebot.toml
Alex Crichton ba462864f1 std: Use more unix.rs code on WASI targets
This commit is a large change to the implementation of filesystem and
other system-related operations on WASI targets. Previously the standard
library explicitly used the `wasi` crate at the 0.11.x version track
which means that it used WASIp1 APIs directly. This meant that `std` was
hard-coded to use WASIp1 syscalls and there was no separate
implementation for the WASIp{2,3} targets, for example. The high-level
goal of this commit is to decouple this interaction and avoid the use of
the `wasi` crate on the WASIp2 target.

Historically when WASIp1 was originally added to Rust the wasi-libc
library was in a much different position than it is today. Nowadays Rust
already depends on wasi-libc on WASI targets for things like memory
allocation and environment variable management. As a libc library it
also has all the functions necessary to implement all filesystem
operations Rust wants. Recently wasi-libc additionally was updated to
use WASIp2 APIs directly on the `wasm32-wasip2` target instead of using
`wasm32-wasip1` APIs. This commit is leveraging this work by enabling
Rust to completely sever the dependence on WASIp1 APIs when compiling
for `wasm32-wasip2`. This is also intended to make it easier to migrate
to `wasm32-wasip3` internally in the future where now only libc need be
updated and Rust doesn't need to explicitly change as well.

The overall premise of this commit is that there's no need for
WASI-specific implementation modules throughout the standard library.
Instead the libc-style bindings already implemented for Unix-like
targets are sufficient. This means that Rust will now be using
libc-style interfaces to interact with the filesystem, for example, and
wasi-libc is the one responsible for translating these POSIX-ish
functions into WASIp{1,2} calls.

Concrete changes here are:

* `std` for `wasm32-wasip2` no longer depends on `wasi 0.11.x`
* The implementation of `std::os::wasi::fs`, which was previously
  unstable and still is, now has portions gated to only work on the
  WASIp1 target which use the `wasi` crate directly. Traits have been
  trimmed down in some cases, updated in others, or now present a
  different API on WASIp1 and WASIp2. It's expected this'll get further
  cleanup in the future.
* The `std::sys::fd::wasi` module is deleted and `unix` is used instead.
* The `std::sys::fs::wasi` module is deleted and `unix` is used instead.
* The `std::sys::io::io_slice::wasi` module is deleted and `unix` is used
  instead.
* The `std::sys::pal::{wasip1,wasip2}` modules are now merged together
  as their difference is much smaller than before.
* The `std::sys::pal::wasi::time` is deleted and the `unix` variant is
  used directly instead.
* The `std::sys::stdio::wasip{1,2}` modules are deleted and the `unix`
  variant is used instead.
* The `std::sys:🧵:wasip{1,2}` modules are deleted and the `unix`
  variant is used instead.

Overall Rust's libstd is effectively more tightly bound to libc when
compiled to WASI targets. This is intended to mirror how it's expected
all other languages will also bind to WASI. This additionally has the
nice goal of drastically reducing the WASI-specific maintenance burden
in libstd (in theory) and the only real changes required here are extra
definitions being added to `libc` (done in separate PRs). This might be
required for more symbols in the future but for now everything should be
mostly complete.
2025-12-08 06:46:28 -08:00

1701 lines
50 KiB
TOML

# This file's format is documented at
# https://forge.rust-lang.org/triagebot/pr-assignment.html#configuration
# ------------------------------------------------------------------------------
# Labels
# ------------------------------------------------------------------------------
[relabel]
allow-unauthenticated = [
"A-*",
"C-*",
"D-*",
"E-*",
"F-*",
"I-*",
"L-*",
"NLL-*",
"O-*",
"PG-*",
"S-*",
"T-*",
"WG-*",
"-Z*",
"beta-nominated",
"CI-spurious-*",
"const-hack",
"llvm-*",
"needs-fcp",
"relnotes",
"release-blog-post",
"requires-*",
"regression-*",
"rla-*",
"perf-*",
"AsyncAwait-OnDeck",
"needs-triage",
"has-merge-commits",
]
[relabel.to-stable]
add-labels = ["regression-from-stable-to-stable"]
rem-labels = ["regression-from-stable-to-beta", "regression-from-stable-to-nightly"]
[relabel.to-beta]
add-labels = ["regression-from-stable-to-beta"]
rem-labels = ["regression-from-stable-to-stable", "regression-from-stable-to-nightly"]
[review-submitted]
# This label is added when a "request changes" review is submitted.
reviewed_label = "S-waiting-on-author"
# These labels are removed when a "request changes" review is submitted.
review_labels = ["S-waiting-on-review"]
[review-requested]
# Those labels are removed when PR author requests a review from an assignee
remove_labels = ["S-waiting-on-author"]
# Those labels are added when PR author requests a review from an assignee
add_labels = ["S-waiting-on-review"]
# [backport.*] sections autonominate pull requests for a backport
# see: https://forge.rust-lang.org/triagebot/backport.html
[backport.t-compiler-beta-backport]
# The pull request MUST have one of these labels
required-pr-labels = ["T-compiler"]
# The regression MUST have this label
required-issue-label = "regression-from-stable-to-beta"
# if the above conditions matches, the PR will receive these labels
add-labels = ["beta-nominated"]
# ------------------------------------------------------------------------------
# Ping groups
# ------------------------------------------------------------------------------
[ping.windows]
message = """\
Hey Windows Group! This bug has been identified as a good "Windows candidate".
In case it's useful, here are some [instructions] for tackling these sorts of
bugs. Maybe take a look?
Thanks! <3
[instructions]: https://rustc-dev-guide.rust-lang.org/notification-groups/windows.html
"""
label = "O-windows"
[ping.arm]
message = """\
Hey ARM Group! This bug has been identified as a good "ARM candidate".
In case it's useful, here are some [instructions] for tackling these sorts of
bugs. Maybe take a look?
Thanks! <3
[instructions]: https://rustc-dev-guide.rust-lang.org/notification-groups/arm.html
"""
label = "O-ARM"
[ping.risc-v]
message = """\
Hey RISC-V Group! This bug has been identified as a good "RISC-V candidate".
In case it's useful, here are some [instructions] for tackling these sorts of
bugs. Maybe take a look?
Thanks! <3
[instructions]: https://rustc-dev-guide.rust-lang.org/notification-groups/risc-v.html
"""
label = "O-riscv"
[ping.fuchsia]
message = """\
Hey friends of Fuchsia! This issue could use some guidance on how this should be
resolved/implemented on Fuchsia. Could one of you weigh in?
"""
label = "O-fuchsia"
[ping.apple]
alias = ["macos", "ios", "tvos", "watchos", "visionos"]
message = """\
Hey Apple notification group! This issue or PR could use some Apple-specific
guidance. Could one of you weigh in? Thanks <3
(In case it's useful, here are some [instructions] for tackling these sorts of
issues).
[instructions]: https://rustc-dev-guide.rust-lang.org/notification-groups/apple.html
"""
label = "O-apple"
# This ping group is meant for situations where a rustc/stdlib change breaks RfL.
# In that case, we want to notify the RfL group.
[ping.rust-for-linux]
alias = ["rfl"]
message = """\
Hey Rust for Linux group! It looks like something broke the Rust for Linux integration.
Could you try to take a look?
In case it's useful, here are some [instructions] for tackling these sorts of issues.
[instructions]: https://rustc-dev-guide.rust-lang.org/notification-groups/rust-for-linux.html
"""
label = "A-rust-for-linux"
[ping.wasm]
alias = ["webassembly"]
message = """\
Hey WASM notification group! This issue or PR could use some WebAssembly-specific
guidance. Could one of you weigh in? Thanks <3
(In case it's useful, here are some [instructions] for tackling these sorts of
issues).
[instructions]: https://rustc-dev-guide.rust-lang.org/notification-groups/wasm.html
"""
label = "O-wasm"
[ping.wasi]
message = """\
Hey WASI notification group! This issue or PR could use some WASI-specific guidance.
Could one of you weigh in? Thanks <3
(In case it's useful, here are some [instructions] for tackling these sorts of
issues).
[instructions]: https://rustc-dev-guide.rust-lang.org/notification-groups/wasi.html
"""
label = "O-wasi"
[ping.emscripten]
message = """\
Hey Emscripten notification group! This issue or PR could use some Emscripten-specific
guidance. Could one of you weigh in? Thanks <3
(In case it's useful, here are some [instructions] for tackling these sorts of
issues).
[instructions]: https://rustc-dev-guide.rust-lang.org/notification-groups/emscripten.html
"""
label = "O-emscripten"
[ping.relnotes-interest-group]
message = """\
Hi relnotes-interest-group, this issue/PR could use some help in reviewing /
adjusting release notes. Could you take a look if available? Thanks <3
"""
# ------------------------------------------------------------------------------
# Autolabels
# ------------------------------------------------------------------------------
[prioritize]
label = "I-prioritize"
[autolabel."S-waiting-on-review"]
new_pr = true
[autolabel."S-waiting-on-author"]
new_draft = true
[autolabel."needs-triage"]
new_issue = true
exclude_labels = [
"C-tracking-issue",
"A-diagnostics",
]
[autolabel."I-prioritize"]
trigger_labels = [
"regression-untriaged",
"regression-from-stable-to-stable",
"regression-from-stable-to-beta",
"regression-from-stable-to-nightly",
"I-unsound",
"I-miscompile",
]
exclude_labels = [
"P-*",
"T-infra",
"T-release",
"requires-nightly",
]
[autolabel."T-rustdoc"]
trigger_files = [
# Source code
"src/librustdoc",
"src/tools/rustdoc",
"src/rustdoc-json-types",
# Tests
"tests/rustdoc",
"tests/rustdoc-ui",
"tests/rustdoc-gui",
"tests/rustdoc-js/",
"tests/rustdoc-js-std",
"tests/rustdoc-json",
# Internal tooling
"src/etc/htmldocck.py",
"src/tools/jsondocck",
"src/tools/jsondoclint",
"src/tools/rustdoc-js",
"src/tools/rustdoc-themes",
# Docs
"src/doc/rustdoc.md",
"src/doc/rustdoc/",
]
exclude_labels = [
"T-*",
]
trigger_labels = [
"A-rustdoc-json",
"A-rustdoc-type-layout",
"A-rustdoc-scrape-examples",
"A-link-to-definition",
"A-cross-crate-reexports",
"A-intra-doc-links",
"A-doc-alias",
]
[autolabel."A-rustdoc-json"]
trigger_files = [
"src/librustdoc/json/",
"src/rustdoc-json-types",
"tests/rustdoc-json",
"src/tools/jsondocck",
"src/tools/jsondoclint",
]
[autolabel."A-attributes"]
trigger_files = [
"compiler/rustc_codegen_ssa/src/codegen_attrs.rs",
"compiler/rustc_passes/src/check_attr.rs",
"compiler/rustc_attr_parsing",
"compiler/rustc_hir/src/attrs",
]
[autolabel."A-compiler-builtins"]
trigger_files = [
"library/compiler-builtins",
]
[autolabel."F-autodiff"]
trigger_files = [
"src/tools/enzyme",
"src/doc/unstable-book/src/compiler-flags/autodiff.md",
"compiler/rustc_ast/src/expand/autodiff_attrs.rs",
"compiler/rustc_codegen_llvm/src/builder/autodiff.rs",
"compiler/rustc_codegen_llvm/src/llvm/enzyme_ffi.rs",
]
[autolabel."F-explicit_tail_calls"]
trigger_files = [
"tests/ui/explicit-tail-calls",
]
[autolabel."T-rustdoc-frontend"]
trigger_labels = [
"A-rustdoc-search",
"A-rustdoc-ui",
"A-rustdoc-js",
]
trigger_files = [
"src/librustdoc/html/",
"tests/rustdoc/",
"tests/rustdoc-gui/",
"tests/rustdoc-js/",
"tests/rustdoc-js-std/",
# note: tests/rustdoc-ui tests the CLI, not the web frontend
]
[autolabel."A-rustdoc-search"]
trigger_files = [
"src/librustdoc/html/static/js/search.js",
"tests/rustdoc-js/",
"tests/rustdoc-js-std",
]
trigger_labels = [
"A-type-based-search",
]
[autolabel."T-compiler"]
trigger_files = [
# Source code
"compiler",
# Tests
"tests/assembly-llvm",
"tests/auxiliary",
"tests/codegen-llvm",
"tests/codegen-units",
"tests/COMPILER_TESTS.md",
"tests/coverage",
"tests/coverage-run-rustdoc",
"tests/crashes",
"tests/debuginfo",
"tests/incremental",
"tests/mir-opt",
"tests/pretty",
"tests/run-make",
"tests/run-make-cargo",
"tests/ui",
"tests/ui-fulldeps",
]
exclude_labels = [
"T-*",
]
trigger_labels = [
"D-*",
"A-diagnostics",
]
[autolabel."A-diagnostics"]
trigger_labels = [
"D-*",
]
[autolabel."A-lints"]
trigger_labels = [
"L-*",
]
[autolabel."T-libs"]
trigger_files = [
"library/alloc",
"library/compiler-builtins",
"library/core",
"library/panic_abort",
"library/panic_unwind",
"library/std",
"library/stdarch",
"library/test",
]
exclude_labels = [
"T-*",
]
[autolabel."O-android"]
trigger_files = [
"library/std/src/os/android"
]
[autolabel."O-apple"]
trigger_files = [
"library/std/src/os/darwin",
"library/std/src/sys/platform_version/darwin",
"library/std/src/sys/sync/thread_parking/darwin.rs",
"compiler/rustc_target/src/spec/base/apple",
]
[autolabel."O-fuchsia"]
trigger_files = [
"library/std/src/os/fuchsia"
]
[autolabel."O-hermit"]
trigger_files = [
"library/std/src/sys/pal/hermit",
"library/std/src/os/hermit"
]
[autolabel."O-ios"]
trigger_files = [
"library/std/src/os/ios"
]
[autolabel."O-itron"]
trigger_files = [
"library/std/src/sys/pal/itron"
]
[autolabel."O-linux"]
trigger_files = [
"library/std/src/os/linux"
]
[autolabel."O-macos"]
trigger_files = [
"library/std/src/os/macos",
]
[autolabel."O-netbsd"]
trigger_files = [
"library/std/src/os/netbsd"
]
[autolabel."O-redox"]
trigger_files = [
"library/std/src/os/redox"
]
[autolabel."O-SGX"]
trigger_files = [
"library/std/src/sys/pal/sgx",
"library/std/src/os/fortanix_sgx"
]
[autolabel."O-solaris"]
trigger_files = [
"library/std/src/os/solaris"
]
[autolabel."O-solid"]
trigger_files = [
"library/std/src/sys/pal/solid",
"library/std/src/os/solid"
]
[autolabel."O-unix"]
trigger_files = [
"library/std/src/sys/pal/unix",
"library/std/src/os/unix"
]
[autolabel."O-wasi"]
trigger_files = [
"library/std/src/sys/pal/wasi",
"library/std/src/os/wasi"
]
[autolabel."O-wasm"]
trigger_files = [
"library/std/src/sys/pal/wasm",
"library/std/src/os/wasi",
"library/std/src/os/wasip2"
]
[autolabel."O-windows"]
trigger_files = [
"library/std/src/sys/pal/windows",
"library/std/src/os/windows"
]
[autolabel."T-bootstrap"]
trigger_files = [
"Cargo.toml",
"configure",
"bootstrap.example.toml",
"src/bootstrap",
"src/build_helper",
"src/tools/rust-installer",
"src/tools/x",
"src/stage0",
"src/tools/compiletest",
"src/tools/tidy",
"src/tools/rustdoc-gui-test",
"src/tools/libcxx-version",
"x.py",
"x",
"x.ps1"
]
[autolabel."A-bootstrap-stamp"]
trigger_files = [
"src/bootstrap/src/utils/build_stamp.rs",
]
[autolabel."T-infra"]
trigger_files = [
".github/workflows",
"src/ci",
"src/tools/bump-stage0",
"src/tools/cargotest",
"src/tools/tier-check",
]
[autolabel."T-style"]
trigger_files = [
"src/doc/style-guide",
]
[autolabel."A-translation"]
trigger_files = [
"compiler/rustc_error_messages",
"compiler/rustc_errors/src/translation.rs",
"compiler/rustc_macros/src/diagnostics"
]
[autolabel."A-query-system"]
trigger_files = [
"compiler/rustc_query_system",
"compiler/rustc_query_impl",
"compiler/rustc_macros/src/query.rs"
]
[autolabel."A-testsuite"]
trigger_files = [
"src/bootstrap/src/core/build_steps/test.rs",
"src/ci",
"src/tools/cargotest",
"src/tools/compiletest",
"src/tools/miropt-test-tools",
"src/tools/remote-test-server",
"src/tools/remote-test-client",
"src/tools/rustdoc-gui-test",
]
[autolabel."A-tidy"]
trigger_files = [
"src/tools/tidy",
]
[autolabel."A-meta"]
trigger_files = [
"triagebot.toml",
"rustfmt.toml",
"LICENSES",
"COPYRIGHT",
"LICENSE-APACHE",
"LICENSE-MIT",
"CODE_OF_CONDUCT.md",
"README.md",
"CONTRIBUTING.md",
"INSTALL.md",
"REUSE.toml",
".mailmap",
".git-blame-ignore-revs",
".editorconfig"
]
[autolabel."T-release"]
trigger_files = [
"RELEASES.md",
"src/stage0",
"src/version"
]
[autolabel."WG-trait-system-refactor"]
trigger_files = [
"compiler/rustc_next_trait_solver",
"compiler/rustc_trait_selection/src/solve",
"compiler/rustc_type_ir/src/solve",
"tests/ui/traits/next-solver",
]
[autolabel."PG-exploit-mitigations"]
trigger_files = [
"compiler/rustc_sanitizers",
"src/doc/rustc/src/exploit-mitigations.md",
"src/doc/unstable-book/src/compiler-flags/branch-protection.md",
"src/doc/unstable-book/src/compiler-flags/cf-protection.md",
"src/doc/unstable-book/src/compiler-flags/control-flow-guard.md",
"src/doc/unstable-book/src/compiler-flags/sanitizer.md",
"src/doc/unstable-book/src/language-features/cfg-sanitize.md",
"src/doc/unstable-book/src/language-features/cfi-encoding.md",
"src/doc/unstable-book/src/language-features/sanitize.md",
"tests/codegen-llvm/sanitizer",
"tests/codegen-llvm/split-lto-unit.rs",
"tests/codegen-llvm/stack-probes-inline.rs",
"tests/codegen-llvm/stack-protector.rs",
"tests/ui/sanitizer",
"tests/ui/stack-protector"
]
[autolabel."A-run-make"]
trigger_files = [
"tests/run-make",
"tests/run-make-cargo",
"src/tools/run-make-support"
]
[autolabel."A-compiletest"]
trigger_files = [
"src/tools/compiletest"
]
[autolabel."A-test-infra-minicore"]
trigger_files = [
"tests/auxiliary/minicore.rs",
]
[autolabel."A-rustc-dev-guide"]
trigger_files = [
"src/doc/rustc-dev-guide",
]
[autolabel."A-LLVM"]
trigger_files = [
"src/llvm-project",
"compiler/rustc_llvm",
"compiler/rustc_codegen_llvm",
]
[autolabel."T-clippy"]
trigger_files = [
"src/tools/clippy",
]
[autolabel."A-CI"]
trigger_files = [
".github/workflows",
"src/ci",
]
[autolabel."T-rust-analyzer"]
trigger_files = [
"src/tools/rust-analyzer",
]
[autolabel."T-rustfmt"]
trigger_files = [
"src/tools/rustfmt",
]
# ------------------------------------------------------------------------------
# Prioritization and team nominations
# ------------------------------------------------------------------------------
[notify-zulip."I-prioritize"]
zulip_stream = 245100 # #t-compiler/prioritization/alerts
topic = "#{number} {title}"
message_on_add = """\
Issue #{number} has been requested for prioritization.
# [Procedure](https://forge.rust-lang.org/compiler/prioritization.html)
- Priority?
- Regression?
- Notify people/groups?
- Needs `I-{team}-nominated`?
"""
message_on_remove = "Issue #{number}'s prioritization request has been removed."
message_on_close = "Issue #{number} has been closed while requested for prioritization."
message_on_reopen = "Issue #{number} has been reopened."
[notify-zulip."I-types-nominated"]
zulip_stream = 326866 # #T-types/nominated
topic = "#{number}: {title}"
message_on_add = """\
@*T-types* issue #{number} "{title}" has been nominated for team discussion.
"""
message_on_remove = "Issue #{number}'s nomination has been removed. Thanks all for participating!"
message_on_close = "Issue #{number} has been closed. Thanks for participating!"
message_on_reopen = "Issue #{number} has been reopened. Pinging @*T-types*."
# ------------------------------------------------------------------------------
# Zulip notifications
# ------------------------------------------------------------------------------
[notify-zulip."beta-nominated".rustdoc]
required_labels = ["T-rustdoc"]
zulip_stream = 266220 # #t-rustdoc
topic = "beta-nominated: #{number}"
# Zulip polls may not be preceded by any other text and pings & short links inside
# the title of a poll don't get recognized. Therefore we need to send two messages.
message_on_add = [
"""\
@*T-rustdoc* PR #{number} "{title}" has been nominated for beta backport.
""",
"""\
/poll Approve beta backport of #{number}?
approve
decline
don't know
""",
]
message_on_remove = "PR #{number}'s beta-nomination has been removed."
message_on_close = "PR #{number} has been closed. Thanks for participating!"
message_on_reopen = "PR #{number} has been reopened. Pinging @*T-rustdoc*."
[notify-zulip."beta-accepted".rustdoc]
required_labels = ["T-rustdoc"]
zulip_stream = 266220 # #t-rustdoc
# Put it in the same thread as beta-nominated.
topic = "beta-nominated: #{number}"
message_on_add = "PR #{number} has been **accepted** for beta backport."
message_on_remove = "PR #{number}'s beta-acceptance has been **removed**."
message_on_close = "PR #{number} has been closed. Thanks for participating!"
message_on_reopen = "PR #{number} has been reopened. Pinging @*T-rustdoc*."
[notify-zulip."stable-nominated".rustdoc]
required_labels = ["T-rustdoc"]
zulip_stream = 266220 # #t-rustdoc
topic = "stable-nominated: #{number}"
# Zulip polls may not be preceded by any other text and pings & short links inside
# the title of a poll don't get recognized. Therefore we need to send two messages.
message_on_add = [
"""\
@*T-rustdoc* PR #{number} "{title}" has been nominated for stable backport.
""",
"""\
/poll Approve stable backport of #{number}?
approve
approve (but does not justify new dot release on its own)
decline
don't know
""",
]
message_on_remove = "PR #{number}'s stable-nomination has been removed."
message_on_close = "PR #{number} has been closed. Thanks for participating!"
message_on_reopen = "PR #{number} has been reopened. Pinging @*T-rustdoc*."
[notify-zulip."stable-accepted".rustdoc]
required_labels = ["T-rustdoc"]
zulip_stream = 266220 # #t-rustdoc
# Put it in the same thread as stable-nominated.
topic = "stable-nominated: #{number}"
message_on_add = "PR #{number} has been **accepted** for stable backport."
message_on_remove = "PR #{number}'s stable-acceptance has been **removed**."
message_on_close = "PR #{number} has been closed. Thanks for participating!"
message_on_reopen = "PR #{number} has been reopened. Pinging @*T-rustdoc*."
[notify-zulip."beta-nominated".compiler]
required_labels = ["T-compiler"]
zulip_stream = 474880 # #t-compiler/backports
topic = "#{number}: beta-nominated"
message_on_add = [
"""\
PR #{number} "{title}" fixes a regression and has been nominated for backport.
{recipients}, what do you think about it?
This topic will help T-compiler getting context about it.
""",
"""\
/poll Should #{number} be beta backported?
approve
decline
don't know
""",
]
message_on_remove = "PR #{number}'s beta-nomination has been removed."
[notify-zulip."beta-accepted".compiler]
required_labels = ["T-compiler"]
zulip_stream = 474880 # #t-compiler/backports
# Put it in the same Zulip topic as beta-nominated.
topic = "#{number}: beta-nominated"
message_on_add = "PR #{number} has been **accepted** for **beta** backport."
[notify-zulip."stable-nominated".compiler]
required_labels = ["T-compiler"]
zulip_stream = 474880 # #t-compiler/backports
topic = "#{number}: stable-nominated"
message_on_add = [
"""\
@**channel** PR #{number} "{title}" has been nominated for stable backport.
""",
"""\
/poll Approve stable backport of #{number}?
approve
approve (but does not justify new dot release on its own)
decline
don't know
""",
]
message_on_remove = "PR #{number}'s stable-nomination has been removed."
[notify-zulip."stable-accepted".compiler]
required_labels = ["T-compiler"]
zulip_stream = 474880 # #t-compiler/backports
# Put it in the same thread as stable-nominated.
topic = "#{number}: stable-nominated"
message_on_add = "PR #{number} has been **accepted** for **stable** backport."
[notify-zulip."beta-nominated".libs]
required_labels = ["T-libs"]
zulip_stream = 542373 # #t-libs/backports
topic = "#{number}: beta-nominated"
message_on_add = [
"""\
@*T-libs* PR #{number} "{title}" has been nominated for beta backport.
""",
"""\
/poll Should #{number} be beta backported?
approve
decline
don't know
""",
]
message_on_remove = "PR #{number}'s beta-nomination has been removed."
[notify-zulip."beta-accepted".libs]
required_labels = ["T-libs"]
zulip_stream = 542373 # #t-libs/backports
# Put it in the same Zulip topic as beta-nominated.
topic = "#{number}: beta-nominated"
message_on_add = "PR #{number} has been **accepted** for **beta** backport."
[notify-zulip."stable-nominated".libs]
required_labels = ["T-libs"]
zulip_stream = 542373 # #t-libs/backports
topic = "#{number}: stable-nominated"
message_on_add = [
"""\
@**channel** PR #{number} "{title}" has been nominated for stable backport.
""",
"""\
/poll Approve stable backport of #{number}?
approve
approve (but does not justify new dot release on its own)
decline
don't know
""",
]
message_on_remove = "PR #{number}'s stable-nomination has been removed."
[notify-zulip."stable-accepted".libs]
required_labels = ["T-libs"]
zulip_stream = 542373 # #t-libs/backports
# Put it in the same thread as stable-nominated.
topic = "#{number}: stable-nominated"
message_on_add = "PR #{number} has been **accepted** for **stable** backport."
[notify-zulip."beta-nominated".bootstrap]
required_labels = ["T-bootstrap"]
zulip_stream = 507486 # #t-infra/bootstrap/backports
topic = "#{number}: beta-nominated"
message_on_add = [
"""\
@*T-bootstrap* PR #{number} "{title}" has been nominated for beta backport.
""",
"""\
/poll Approve beta backport of #{number}?
approve
decline
don't know
""",
]
message_on_remove = "PR #{number}'s beta-nomination has been removed."
[notify-zulip."beta-accepted".bootstrap]
required_labels = ["T-bootstrap"]
zulip_stream = 507486 # #t-infra/bootstrap/backports
# Put it in the same thread as beta-nominated.
topic = "#{number}: beta-nominated"
message_on_add = "PR #{number} has been **accepted** for **beta** backport."
[notify-zulip."stable-nominated".bootstrap]
required_labels = ["T-bootstrap"]
zulip_stream = 507486 # #t-infra/bootstrap/backports
topic = "#{number}: stable-nominated"
message_on_add = [
"""\
@*T-bootstrap* PR #{number} "{title}" has been nominated for stable backport.
""",
"""\
/poll Approve stable backport of #{number}?
approve
approve (but does not justify new dot release on its own)
decline
don't know
""",
]
message_on_remove = "PR #{number}'s stable-nomination has been removed."
[notify-zulip."stable-accepted".bootstrap]
required_labels = ["T-bootstrap"]
zulip_stream = 507486 # #t-infra/bootstrap/backports
# Put it in the same thread as stable-nominated.
topic = "#{number}: stable-nominated"
message_on_add = "PR #{number} has been **accepted** for **stable** backport."
[notify-zulip."A-edition-2021"]
required_labels = ["C-bug"]
zulip_stream = 268952 # #edition
topic = "Edition Bugs"
message_on_add = """\
Issue #{number} "{title}" has been added (previous edition 2021).
"""
[notify-zulip."A-edition-2024"]
required_labels = ["C-bug"]
zulip_stream = 268952 # #edition
topic = "Edition Bugs"
message_on_add = """\
Issue #{number} "{title}" has been added.
"""
# ------------------------------------------------------------------------------
# Mentions
# ------------------------------------------------------------------------------
[mentions."triagebot.toml"]
message = "`triagebot.toml` has been modified, there may have been changes to the review queue."
cc = ["@davidtwco", "@wesleywiser"]
[mentions."compiler/rustc_codegen_cranelift"]
cc = ["@bjorn3"]
[mentions."compiler/rustc_codegen_gcc"]
cc = ["@antoyo", "@GuillaumeGomez"]
[mentions."compiler/rustc_const_eval/src/"]
message = "Some changes occurred to the CTFE machinery"
cc = ["@RalfJung", "@oli-obk", "@lcnr"]
[mentions."compiler/rustc_const_eval/src/check_consts"]
message = "Some changes occurred to constck"
cc = ["@fee1-dead"]
[mentions."compiler/rustc_const_eval/src/interpret"]
message = "Some changes occurred to the CTFE / Miri interpreter"
cc = ["@rust-lang/miri"]
[mentions."compiler/rustc_trait_selection/src/error_reporting/infer/need_type_info.rs"]
message = "Some changes occurred in need_type_info.rs"
cc = ["@lcnr"]
[mentions."compiler/rustc_middle/src/ty/relate.rs"]
message = "changes to the core type system"
cc = ["@compiler-errors", "@lcnr"]
[mentions."compiler/rustc_infer/src/infer/relate"]
message = "changes to the core type system"
cc = ["@compiler-errors", "@lcnr"]
[mentions."compiler/rustc_hir_typeck/src/fn_ctxt/inspect_obligations.rs"]
message = "changes to `inspect_obligations.rs`"
cc = ["@compiler-errors", "@lcnr"]
[mentions."compiler/rustc_middle/src/mir/interpret"]
message = "Some changes occurred to the CTFE / Miri interpreter"
cc = ["@rust-lang/miri", "@RalfJung", "@oli-obk", "@lcnr"]
[mentions."compiler/rustc_mir_transform/src/"]
message = "Some changes occurred to MIR optimizations"
cc = ["@rust-lang/wg-mir-opt"]
[mentions."compiler/rustc_trait_selection/src/traits/wf.rs"]
message = "changes to the core type system"
cc = ["@compiler-errors", "@lcnr"]
[mentions."compiler/rustc_trait_selection/src/traits/const_evaluatable.rs"]
message = "Some changes occurred in `const_evaluatable.rs`"
cc = ["@BoxyUwU"]
[mentions."compiler/rustc_middle/src/ty/abstract_const.rs"]
message = "Some changes occurred in `abstract_const.rs`"
cc = ["@BoxyUwU"]
[mentions."compiler/rustc_ty_utils/src/consts.rs"]
message = "Some changes occurred in `rustc_ty_utils::consts.rs`"
cc = ["@BoxyUwU"]
[mentions."compiler/rustc_trait_selection/src/solve/"]
message = "Some changes occurred to the core trait solver"
cc = ["@rust-lang/initiative-trait-system-refactor"]
[mentions."compiler/rustc_trait_selection/src/traits/engine.rs"]
message = """
Some changes occurred in engine.rs, potentially modifying the public API \
of `ObligationCtxt`.
"""
cc = ["@lcnr", "@compiler-errors"]
[mentions."compiler/rustc_hir_analysis/src/hir_ty_lowering"]
message = "HIR ty lowering was modified"
cc = ["@fmease"]
[mentions."compiler/rustc_error_codes/src/lib.rs"]
message = "Some changes occurred in diagnostic error codes"
cc = ["@GuillaumeGomez"]
[mentions."compiler/rustc_mir_build/src/builder/matches"]
message = "Some changes occurred in match lowering"
cc = ["@Nadrieril"]
[mentions."compiler/rustc_mir_build/src/thir/pattern"]
message = "Some changes occurred in match checking"
cc = ["@Nadrieril"]
[mentions."compiler/rustc_pattern_analysis"]
message = "Some changes occurred in exhaustiveness checking"
cc = ["@Nadrieril"]
[mentions."compiler/rustc_session/src/config/cfg.rs"]
message = "Some changes occurred in cfg and check-cfg configuration"
cc = ["@Urgau"]
[mentions."compiler/rustc_lint/src/early/diagnostics/check_cfg.rs"]
message = "Some changes occurred in check-cfg diagnostics"
cc = ["@Urgau"]
[mentions."library/compiler-builtins"]
message = """
`compiler-builtins` is developed in its own repository. If possible, consider \
making this change to \
[rust-lang/compiler-builtins](https://github.com/rust-lang/compiler-builtins) \
instead.
"""
cc = ["@tgross35"]
[mentions."library/stdarch"]
message = """
`stdarch` is developed in its own repository. If possible, consider \
making this change to \
[rust-lang/stdarch](https://github.com/rust-lang/stdarch) \
instead.
"""
cc = ["@Amanieu", "@folkertdev", "@sayantn"]
[mentions."library/core/src/intrinsics/simd.rs"]
message = """
Some changes occurred to the platform-builtins intrinsics. Make sure the
LLVM backend as well as portable-simd gets adapted for the changes.
"""
cc = ["@antoyo", "@GuillaumeGomez", "@bjorn3", "@calebzulawski", "@programmerjake"]
[mentions."library/core/src/intrinsics"]
message = """
Some changes occurred to the intrinsics. Make sure the CTFE / Miri interpreter
gets adapted for the changes, if necessary.
"""
cc = ["@rust-lang/miri", "@RalfJung", "@oli-obk", "@lcnr"]
[mentions."library/portable-simd"]
message = """
Portable SIMD is developed in its own repository. If possible, consider \
making this change to [rust-lang/portable-simd](https://github.com/rust-lang/portable-simd) \
instead.
"""
cc = ["@calebzulawski", "@programmerjake"]
[mentions."library/core/src/unicode/unicode_data.rs"]
message = """
`library/core/src/unicode/unicode_data.rs` is generated by the \
`src/tools/unicode-table-generator` tool.
If you want to modify `unicode_data.rs`, please modify the tool then regenerate the library \
source file via `./x run src/tools/unicode-table-generator` instead of editing \
`unicode_data.rs` manually.
"""
[mentions."src/librustdoc/html/static"]
message = "Some changes occurred in HTML/CSS/JS."
cc = [
"@GuillaumeGomez",
"@lolbinarycat",
]
[mentions."tests/rustdoc-gui/"]
message = "Some changes occurred in GUI tests."
cc = ["@GuillaumeGomez"]
[mentions."tests/auxiliary/minicore.rs"]
message = "This PR modifies `tests/auxiliary/minicore.rs`."
cc = ["@jieyouxu"]
[mentions."src/rustdoc-json-types"]
message = """
rustdoc-json-types is a **public** (although nightly-only) API. \
If possible, consider changing `src/librustdoc/json/conversions.rs`; \
otherwise, make sure you bump the `FORMAT_VERSION` constant.
"""
cc = [
"@CraftSpider",
"@aDotInTheVoid",
"@Enselic",
"@obi1kenobi",
]
[mentions."src/tools/cargo"]
cc = ["@ehuss"]
[mentions."src/tools/clippy"]
cc = ["@rust-lang/clippy"]
[mentions."src/tools/compiletest"]
cc = ["@jieyouxu"]
[mentions."src/tools/compiletest/src/directives"]
message = """
`compiletest` directives have been modified. Please add or update docs for the
new or modified directive in `src/doc/rustc-dev-guide/`.
"""
[mentions."src/tools/miri"]
message = "The Miri subtree was changed"
cc = ["@rust-lang/miri"]
[mentions."src/tools/run-make-support"]
message = "The run-make-support library was changed"
cc = ["@jieyouxu"]
[mentions."src/tools/rust-analyzer"]
message = """
rust-analyzer is developed in its own repository. If possible, consider making \
this change to [rust-lang/rust-analyzer] instead.
[rust-lang/rust-analyzer]: https://github.com/rust-lang/rust-analyzer
"""
cc = ["@rust-lang/rust-analyzer"]
[mentions."src/tools/rustfmt"]
cc = ["@rust-lang/rustfmt"]
[mentions."compiler/rustc_middle/src/mir/syntax.rs"]
message = "This PR changes MIR"
cc = ["@oli-obk", "@RalfJung", "@JakobDegen", "@vakaras"]
[mentions."compiler/rustc_error_messages"]
message = "`rustc_error_messages` was changed"
cc = ["@davidtwco", "@compiler-errors", "@TaKO8Ki"]
[mentions."compiler/rustc_errors/src/annotate_snippet_emitter_writer.rs"]
message = "`rustc_errors::annotate_snippet_emitter_writer` was changed"
cc = ["@Muscraft"]
[mentions."compiler/rustc_errors/src/emitter.rs"]
message = "`rustc_errors::emitter` was changed"
cc = ["@Muscraft"]
[mentions."compiler/rustc_errors/src/translation.rs"]
message = "`rustc_errors::translation` was changed"
cc = ["@davidtwco", "@compiler-errors", "@TaKO8Ki"]
[mentions."compiler/rustc_macros/src/diagnostics"]
message = "`rustc_macros::diagnostics` was changed"
cc = ["@davidtwco", "@compiler-errors", "@TaKO8Ki"]
[mentions."compiler/rustc_public"]
message = "This PR changes rustc_public"
cc = ["@oli-obk", "@celinval", "@ouz-a"]
[mentions."compiler/rustc_target/src/spec"]
message = """
These commits modify **compiler targets**.
(See the [Target Tier Policy](https://doc.rust-lang.org/nightly/rustc/target-tier-policy.html).)
"""
[mentions."src/doc/style-guide"]
cc = ["@rust-lang/style"]
[mentions."Cargo.lock"]
message = """
These commits modify the `Cargo.lock` file. Unintentional changes to `Cargo.lock` can be introduced when switching branches and rebasing PRs.
If this was unintentional then you should revert the changes before this PR is merged.
Otherwise, you can ignore this comment.
"""
[mentions."library/Cargo.lock"]
message = """
These commits modify the `library/Cargo.lock` file. Unintentional changes to `library/Cargo.lock` can be introduced when switching branches and rebasing PRs.
If this was unintentional then you should revert the changes before this PR is merged.
Otherwise, you can ignore this comment.
"""
[mentions."src/tools/x"]
message = "`src/tools/x` was changed. Bump version of Cargo.toml in `src/tools/x` so tidy will suggest installing the new version."
[mentions."src/tools/tidy/src/deps.rs"]
message = "The list of allowed third-party dependencies may have been modified! You must ensure that any new dependencies have compatible licenses before merging."
cc = ["@davidtwco", "@wesleywiser"]
[mentions."src/tools/tidy/src/extra_checks"]
message = "`tidy` extra checks were modified."
cc = ["@lolbinarycat"]
[mentions."src/bootstrap/src/core/config"]
message = """
This PR modifies `src/bootstrap/src/core/config`.
If appropriate, please update `CONFIG_CHANGE_HISTORY` in `src/bootstrap/src/utils/change_tracker.rs`.
"""
[mentions."src/bootstrap/defaults"]
message = """
This PR modifies `src/bootstrap/defaults`.
If appropriate, please update `CONFIG_CHANGE_HISTORY` in `src/bootstrap/src/utils/change_tracker.rs`.
"""
[mentions."bootstrap.example.toml"]
message = """
This PR modifies `bootstrap.example.toml`.
If appropriate, please update `CONFIG_CHANGE_HISTORY` in `src/bootstrap/src/utils/change_tracker.rs`.
"""
[mentions."src/bootstrap/src/core/build_steps/llvm.rs"]
message = "This PR changes how LLVM is built. Consider updating src/bootstrap/download-ci-llvm-stamp."
[mentions."src/bootstrap/src/core/build_steps/gcc.rs"]
message = "This PR changes how GCC is built. Consider updating src/bootstrap/download-ci-gcc-stamp."
[mentions."tests/crashes"]
message = "This PR changes a file inside `tests/crashes`. If a crash was fixed, please move into the corresponding `ui` subdir and add 'Fixes #<issueNr>' to the PR description to autoclose the issue upon merge."
[mentions."tests/rustdoc-json"]
message = """
These commits modify `tests/rustdoc-json`.
rustdoc-json is a **public** (but unstable) interface.
Please ensure that if you've changed the output:
- It's intentional.
- The `FORMAT_VERSION` in `src/librustdoc-json-types` is bumped if necessary.
"""
cc = ["@aDotInTheVoid", "@obi1kenobi"]
[mentions."tests/ui/deriving/deriving-all-codegen.stdout"]
message = "Changes to the code generated for builtin derived traits."
cc = ["@nnethercote"]
[mentions."tests/ui/stats/input-stats.stderr"]
message = "Changes to the size of AST and/or HIR nodes."
cc = ["@nnethercote"]
[mentions."tests/ui/issues"]
message = """
This PR modifies `tests/ui/issues/`. If this PR is adding new tests to `tests/ui/issues/`,
please refrain from doing so, and instead add it to more descriptive subdirectories.
"""
[mentions."compiler/rustc_sanitizers"]
cc = ["@rcvalle"]
[mentions."src/doc/rustc/src/exploit-mitigations.md"]
cc = ["@rust-lang/project-exploit-mitigations", "@rcvalle"]
[mentions."src/doc/unstable-book/src/compiler-flags/branch-protection.md"]
cc = ["@rust-lang/project-exploit-mitigations", "@rcvalle"]
[mentions."src/doc/unstable-book/src/compiler-flags/cf-protection.md"]
cc = ["@rust-lang/project-exploit-mitigations", "@rcvalle"]
[mentions."src/doc/unstable-book/src/compiler-flags/control-flow-guard.md"]
cc = ["@rust-lang/project-exploit-mitigations", "@rcvalle"]
[mentions."src/doc/unstable-book/src/compiler-flags/sanitizer.md"]
cc = ["@rust-lang/project-exploit-mitigations", "@rcvalle"]
[mentions."src/doc/unstable-book/src/language-features/cfg-sanitize.md"]
cc = ["@rust-lang/project-exploit-mitigations", "@rcvalle"]
[mentions."src/doc/unstable-book/src/language-features/cfi-encoding.md"]
cc = ["@rust-lang/project-exploit-mitigations", "@rcvalle"]
[mentions."src/doc/unstable-book/src/language-features/sanitize.md"]
cc = ["@rust-lang/project-exploit-mitigations", "@rcvalle"]
[mentions."src/doc/rustc/src/check-cfg.md"]
cc = ["@Urgau"]
[mentions."src/doc/rustc/src/check-cfg"]
cc = ["@Urgau"]
[mentions."src/doc/rustc/src/platform-support"]
cc = ["@Noratrieb"]
[mentions."tests/codegen-llvm/sanitizer"]
cc = ["@rcvalle"]
[mentions."tests/codegen-llvm/split-lto-unit.rs"]
cc = ["@rust-lang/project-exploit-mitigations", "@rcvalle"]
[mentions."tests/codegen-llvm/stack-probes-inline.rs"]
cc = ["@rust-lang/project-exploit-mitigations", "@rcvalle"]
[mentions."tests/codegen-llvm/stack-protector.rs"]
cc = ["@rust-lang/project-exploit-mitigations", "@rcvalle"]
[mentions."tests/ui/sanitizer"]
cc = ["@rcvalle"]
[mentions."tests/ui/stack-protector"]
cc = ["@rust-lang/project-exploit-mitigations", "@rcvalle"]
[mentions."compiler/rustc_middle/src/mir/coverage.rs"]
message = "Some changes occurred in coverage instrumentation."
cc = ["@Zalathar"]
[mentions."compiler/rustc_mir_build/src/builder/coverageinfo.rs"]
message = "Some changes occurred in coverage instrumentation."
cc = ["@Zalathar"]
[mentions."compiler/rustc_mir_transform/src/coverage"]
message = "Some changes occurred in coverage instrumentation."
cc = ["@Zalathar"]
[mentions."compiler/rustc_codegen_llvm/src/coverageinfo"]
message = "Some changes occurred in coverage instrumentation."
cc = ["@Zalathar"]
[mentions."compiler/rustc_codegen_ssa/src/mir/coverageinfo.rs"]
message = "Some changes occurred in coverage instrumentation."
cc = ["@Zalathar"]
[mentions."tests/coverage"]
message = "Some changes occurred in coverage tests."
cc = ["@Zalathar"]
[mentions."src/tools/opt-dist"]
cc = ["@kobzol"]
[mentions."tests/ui-fulldeps/lexer/unicode-version.run.stdout"]
message = """If the Unicode version changes are intentional,
it should also be updated in the reference at
https://github.com/rust-lang/reference/blob/HEAD/src/identifiers.md.
"""
cc = ["@ehuss"]
[mentions."src/doc/rustc-dev-guide"]
message = "The rustc-dev-guide subtree was changed. If this PR *only* touches the dev guide consider submitting a PR directly to [rust-lang/rustc-dev-guide](https://github.com/rust-lang/rustc-dev-guide/pulls) otherwise thank you for updating the dev guide with your changes."
cc = ["@BoxyUwU", "@jieyouxu", "@kobzol", "@tshepang"]
[mentions."compiler/rustc_passes/src/check_attr.rs"]
cc = ["@jdonszelmann"]
[mentions."compiler/rustc_attr_parsing"]
cc = ["@jdonszelmann"]
[mentions."compiler/rustc_hir/src/attrs"]
cc = ["@jdonszelmann"]
[mentions."src/tools/enzyme"]
cc = ["@ZuseZ4"]
[mentions."src/doc/unstable-book/src/compiler-flags/autodiff.md"]
cc = ["@ZuseZ4"]
[mentions."compiler/rustc_ast/src/expand/autodiff_attrs.rs"]
cc = ["@ZuseZ4"]
[mentions."compiler/rustc_ast/src/expand/typetree.rs"]
cc = ["@ZuseZ4"]
[mentions."compiler/rustc_builtin_macros/src/autodiff.rs"]
cc = ["@ZuseZ4"]
[mentions."compiler/rustc_codegen_llvm/src/builder/autodiff.rs"]
cc = ["@ZuseZ4"]
[mentions."compiler/rustc_codegen_llvm/src/llvm/enzyme_ffi.rs"]
cc = ["@ZuseZ4"]
[mentions."library/core/src/fmt/rt.rs"]
cc = ["@m-ou-se"]
[mentions."compiler/rustc_ast_lowering/src/format.rs"]
cc = ["@m-ou-se"]
# Content-based mentions
[mentions."#[miri::intrinsic_fallback_is_spec]"]
type = "content"
message = """
⚠️ `#[miri::intrinsic_fallback_is_spec]` must only be used if the function actively checks for all UB cases,
and explores the possible non-determinism of the intrinsic.
"""
cc = ["@rust-lang/miri"]
[mentions."#[rustc_allow_const_fn_unstable"]
type = "content"
message = """
⚠️ `#[rustc_allow_const_fn_unstable]` needs careful audit to avoid accidentally exposing unstable
implementation details on stable.
"""
cc = ["@rust-lang/wg-const-eval"]
[mentions."#[rustc_intrinsic_const_stable_indirect]"]
type = "content"
message = """
⚠️ `#[rustc_intrinsic_const_stable_indirect]` controls whether intrinsics can be exposed to stable const
code; adding it needs t-lang approval.
"""
cc = ["@rust-lang/wg-const-eval"]
# ------------------------------------------------------------------------------
# PR assignments
# ------------------------------------------------------------------------------
[assign]
warn_non_default_branch.enable = true
contributing_url = "https://rustc-dev-guide.rust-lang.org/getting-started.html"
[[assign.warn_non_default_branch.exceptions]]
title = "[beta"
branch = "beta"
[[assign.warn_non_default_branch.exceptions]]
title = "[stable"
branch = "stable"
[assign.adhoc_groups]
compiler_leads = [
"@davidtwco",
"@wesleywiser",
]
compiler = [
"@BoxyUwU",
"@chenyukang",
"@compiler-errors",
"@davidtwco",
"@eholk",
"@fee1-dead",
"@fmease",
"@jackh726",
"@jieyouxu",
"@jdonszelmann",
"@JonathanBrouwer",
"@lcnr",
"@madsmtm",
"@mati865",
"@Nadrieril",
"@nnethercote",
"@oli-obk",
"@petrochenkov",
"@SparrowLii",
"@WaffleLapkin",
"@wesleywiser",
]
libs = [
"@Mark-Simulacrum",
"@workingjubilee",
"@jhpratt",
"@tgross35",
"@thomcc",
"@ibraheemdev",
"@joboet",
]
infra-ci = [
"@Mark-Simulacrum",
"@Kobzol",
"@marcoieni",
"@jdno",
"@jieyouxu",
]
rustdoc = [
"@GuillaumeGomez",
"@notriddle",
"@fmease",
]
docs = [
"@ehuss",
"@GuillaumeGomez",
]
codegen = [
"@dianqk",
"@madsmtm",
"@saethlin",
"@workingjubilee",
"@WaffleLapkin",
]
query-system = [
"@oli-obk",
]
incremental = [
"@wesleywiser",
]
diagnostics = [
"@compiler-errors",
"@davidtwco",
"@oli-obk",
"@chenyukang",
]
parser = [
"@compiler-errors",
"@davidtwco",
"@nnethercote",
"@petrochenkov",
"@spastorino",
]
lexer = [
"@nnethercote",
"@petrochenkov",
"@chenyukang",
]
arena = [
"@nnethercote",
"@spastorino",
]
mir = [
"@oli-obk",
"@matthewjasper",
"@saethlin",
]
mir-opt = [
"@oli-obk",
"@wesleywiser",
"@saethlin",
]
types = [
"@compiler-errors",
"@jackh726",
"@lcnr",
"@oli-obk",
"@spastorino",
"@BoxyUwU",
]
borrowck = [
"@davidtwco",
"@matthewjasper"
]
ast_lowering = [
"@compiler-errors",
"@spastorino",
]
debuginfo = [
"@davidtwco"
]
fallback = [
"@Mark-Simulacrum"
]
style-team = [
"@calebcartwright",
"@joshtriplett",
"@traviscross",
]
project-const-traits = [
"@compiler-errors",
"@fee1-dead",
"@fmease",
"@oli-obk",
]
project-stable-mir = [
"@celinval",
"@oli-obk",
"@scottmcm",
]
project-exploit-mitigations = [
"@cuviper",
"@rcvalle",
]
compiletest = [
"@jieyouxu",
]
dep-bumps = [
"@clubby789",
]
[assign.owners]
"/.github/workflows" = ["infra-ci"]
"/Cargo.lock" = ["@Mark-Simulacrum"]
"/Cargo.toml" = ["@Mark-Simulacrum"]
"/compiler" = ["compiler"]
"/compiler/rustc_abi" = ["compiler", "codegen"]
"/compiler/rustc_arena" = ["compiler", "arena"]
"/compiler/rustc_ast" = ["compiler", "parser"]
"/compiler/rustc_ast_lowering" = ["compiler", "ast_lowering"]
"/compiler/rustc_data_structures/src/stable_hasher.rs" = ["compiler", "incremental"]
"/compiler/rustc_hir_analysis" = ["compiler", "types"]
"/compiler/rustc_incremental" = ["compiler", "incremental"]
"/compiler/rustc_borrowck" = ["compiler", "borrowck"]
"/compiler/rustc_lexer" = ["compiler", "lexer"]
"/compiler/rustc_llvm" = ["@cuviper"]
"/compiler/rustc_codegen_llvm/src/debuginfo" = ["compiler", "debuginfo"]
"/compiler/rustc_codegen_ssa" = ["compiler", "codegen"]
"/compiler/rustc_middle/src/mir" = ["compiler", "mir"]
"/compiler/rustc_middle/src/traits" = ["compiler", "types"]
"/compiler/rustc_middle/src/ty" = ["compiler", "types"]
"/compiler/rustc_const_eval/src/interpret" = ["compiler", "mir"]
"/compiler/rustc_mir_build/src/builder" = ["compiler", "mir"]
"/compiler/rustc_mir_transform" = ["compiler", "mir", "mir-opt"]
"/compiler/rustc_public_bridge" = ["project-stable-mir"]
"/compiler/rustc_parse" = ["compiler", "parser"]
"/compiler/rustc_parse/src/lexer" = ["compiler", "lexer"]
"/compiler/rustc_query_impl" = ["compiler", "query-system"]
"/compiler/rustc_query_system" = ["compiler", "query-system"]
"/compiler/rustc_query_system/src/dep_graph" = ["compiler", "incremental", "query-system"]
"/compiler/rustc_query_system/src/ich" = ["compiler", "incremental", "query-system"]
"/compiler/rustc_trait_selection" = ["compiler", "types"]
"/compiler/rustc_traits" = ["compiler", "types"]
"/compiler/rustc_type_ir" = ["compiler", "types"]
"/compiler/rustc_public" = ["project-stable-mir"]
"/library/alloc" = ["libs"]
"/library/core" = ["libs", "@scottmcm"]
"/library/panic_abort" = ["libs"]
"/library/panic_unwind" = ["libs"]
"/library/proc_macro" = ["@petrochenkov"]
"/library/std" = ["libs", "@ChrisDenton"]
"/library/std/src/sys/pal/windows" = ["@ChrisDenton"]
"/library/stdarch" = ["libs"]
"/library/test" = ["libs"]
"/src/bootstrap" = ["bootstrap"]
"/src/ci" = ["infra-ci"]
"/src/doc" = ["docs"]
"/src/doc/book" = ["@ehuss"]
"/src/doc/edition-guide" = ["@ehuss"]
"/src/doc/embedded-book" = ["@ehuss"]
"/src/doc/nomicon" = ["@ehuss"]
"/src/doc/reference" = ["@ehuss"]
"/src/doc/rust-by-example" = ["@ehuss"]
"/src/doc/rustc" = ["compiler", "@ehuss"]
"/src/doc/rustc-dev-guide" = ["compiler"]
"/src/doc/rustdoc" = ["rustdoc"]
"/src/doc/style-guide" = ["style-team"]
"/src/doc/unstable-book" = ["compiler"]
"/src/etc" = ["@Mark-Simulacrum"]
"/src/librustdoc" = ["rustdoc"]
"/src/llvm-project" = ["@cuviper"]
"/src/rustdoc-json-types" = ["rustdoc"]
"/src/stage0" = ["bootstrap"]
"/tests/run-make" = ["@jieyouxu"]
"/tests/run-make-cargo" = ["@jieyouxu"]
"/tests/rustdoc" = ["rustdoc"]
"/tests/rustdoc-gui" = ["rustdoc"]
"/tests/rustdoc-js-std" = ["rustdoc"]
"/tests/rustdoc-js/" = ["rustdoc"]
"/tests/rustdoc-json" = ["@aDotInTheVoid"]
"/tests/rustdoc-ui" = ["rustdoc"]
"/tests/ui" = ["compiler"]
"/src/tools/cargo" = ["@ehuss"]
"/src/tools/compiletest" = ["bootstrap", "@wesleywiser", "@oli-obk", "@compiler-errors", "@jieyouxu"]
"/src/tools/linkchecker" = ["@ehuss"]
"/src/tools/opt-dist" = ["@kobzol"]
"/src/tools/run-make-support" = ["@jieyouxu"]
"/src/tools/rust-installer" = ["bootstrap"]
"/src/tools/rustbook" = ["@ehuss"]
"/src/tools/rustdoc" = ["rustdoc"]
"/src/tools/rustdoc-js" = ["rustdoc"]
"/src/tools/rustdoc-themes" = ["rustdoc"]
"/src/tools/tidy" = ["bootstrap"]
"/src/tools/x" = ["bootstrap"]
"/src/tools/rustdoc-gui-test" = ["bootstrap"]
"/src/tools/libcxx-version" = ["bootstrap"]
# Enable review queue tracking
# Documentation at: https://forge.rust-lang.org/triagebot/review-queue-tracking.html
[assign.review_prefs]
[pr-tracking]
# ------------------------------------------------------------------------------
# Misc
# ------------------------------------------------------------------------------
[no-merges]
exclude_titles = ["Rollup of", "subtree update", "Subtree update"]
labels = ["has-merge-commits", "S-waiting-on-author"]
[github-releases]
format = "rustc"
project-name = "Rust"
changelog-path = "RELEASES.md"
changelog-branch = "main"
[shortcut]
# Enable issue transfers within the org
# Documentation at: https://forge.rust-lang.org/triagebot/transfer.html
[transfer]
# Enable `@rustbot note` functionality
# Documentation at: https://forge.rust-lang.org/triagebot/note.html
[note]
[behind-upstream]
days-threshold = 28
# Canonicalize issue numbers to avoid closing the wrong issue
# when commits are included in subtrees, as well as warning links in commits.
# Documentation at: https://forge.rust-lang.org/triagebot/issue-links.html
[issue-links]
# Prevents mentions in commits to avoid users being spammed
# Documentation at: https://forge.rust-lang.org/triagebot/no-mentions.html
[no-mentions]
# Subtree update authors can't fix it, no point in warning.
exclude-titles = ["subtree update"]
# Allow members to formally register concerns (`@rustbot concern my concern`)
# Documentation at: https://forge.rust-lang.org/triagebot/concern.html
[concern]
labels = ["S-waiting-on-concerns"]
# Enable comments linking to triagebot range-diff when a PR is rebased
# onto a different base commit
# Documentation at: https://forge.rust-lang.org/triagebot/range-diff.html
[range-diff]
# Adds at the end of a review body a link to view the changes that happened
# since the review
# Documentation at: https://forge.rust-lang.org/triagebot/review-changes-since.html
[review-changes-since]