rust/src
bors 4d88de2acd Auto merge of #125116 - blyxyas:ignore-allowed-lints-final, r=cjgillot
(Big performance change) Do not run lints that cannot emit

Before this change, adding a lint was a difficult matter because it always had some overhead involved. This was because all lints would run, no matter their default level, or if the user had `#![allow]`ed them. This PR changes that. This change would improve both the Rust lint infrastructure and Clippy, but Clippy will see the most benefit, as it has about 900 registered lints (and growing!)

So yeah, with this little patch we filter all lints pre-linting, and remove any lint that is either:
- Manually `#![allow]`ed in the whole crate,
- Allowed in the command line, or
- Not manually enabled with `#[warn]` or similar, and its default level is `Allow`

As some lints **need** to run, this PR also adds **loadbearing lints**. On a lint declaration, you can use the ``@eval_always` = true` marker to label it as loadbearing. A loadbearing lint will never be filtered (it will always run)

Fixes #106983
2024-10-26 16:37:43 +00:00
..
bootstrap Allow building rustc's LLVM with Offload support 2024-10-25 14:31:09 -07:00
ci Rollup merge of #132163 - claywilkinson:master, r=tmandry 2024-10-26 06:29:47 +02:00
doc Auto merge of #132007 - rustbot:docs-update, r=ehuss 2024-10-24 22:55:02 +00:00
etc Rollup merge of #131365 - heiseish:fix-issue-101993, r=Mark-Simulacrum 2024-10-20 16:54:09 +02:00
gcc@fd3498bff0 Update GCC version 2024-09-06 16:01:46 +02:00
librustdoc Auto merge of #125116 - blyxyas:ignore-allowed-lints-final, r=cjgillot 2024-10-26 16:37:43 +00:00
llvm-project@3a17f74904 Update LLVM submodule 2024-10-12 21:42:13 +08:00
rustdoc-json-types Auto merge of #131980 - matthiaskrgr:rollup-iy5nw71, r=matthiaskrgr 2024-10-20 21:40:21 +00:00
tools Auto merge of #125116 - blyxyas:ignore-allowed-lints-final, r=cjgillot 2024-10-26 16:37:43 +00:00
README.md
stage0 bump stage0 to 1.83.0-beta.1 2024-10-15 20:13:55 -07:00
version Bump to 1.84 2024-10-11 09:55:11 -07:00

This directory contains some source code for the Rust project, including:

  • The bootstrapping build system
  • Various submodules for tools, like cargo, tidy, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.