about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-02-22 05:06:27 +0000
committerbors <bors@rust-lang.org>2024-02-22 05:06:27 +0000
commit3815fc06256f6281ee064fc607d24020dc96f05b (patch)
treea9ec036cc3cb6e18d43f62e85574e81288b82cf0 /src
parent596dd65cfa1d5f1a55a9a68d7f45bda436e3055d (diff)
parent6f3bc7d938f5a8a772ba67cf41aad16a03b9fb1c (diff)
Auto merge of #3310 - rust-lang:rustup-2024-02-22, r=oli-obk
Automatic Rustup
Diffstat (limited to 'src')
-rw-r--r--src/bootstrap/defaults/config.codegen.toml25
-rw-r--r--src/bootstrap/defaults/config.compiler.toml8
-rw-r--r--src/bootstrap/src/bin/main.rs10
-rw-r--r--src/bootstrap/src/bin/rustc.rs4
-rw-r--r--src/bootstrap/src/bin/sccache-plus-cl.rs4
-rw-r--r--src/bootstrap/src/core/build_steps/check.rs8
-rw-r--r--src/bootstrap/src/core/build_steps/compile.rs58
-rw-r--r--src/bootstrap/src/core/build_steps/dist.rs79
-rw-r--r--src/bootstrap/src/core/build_steps/doc.rs20
-rw-r--r--src/bootstrap/src/core/build_steps/format.rs6
-rw-r--r--src/bootstrap/src/core/build_steps/install.rs6
-rw-r--r--src/bootstrap/src/core/build_steps/llvm.rs28
-rw-r--r--src/bootstrap/src/core/build_steps/run.rs2
-rw-r--r--src/bootstrap/src/core/build_steps/setup.rs46
-rw-r--r--src/bootstrap/src/core/build_steps/suggest.rs2
-rw-r--r--src/bootstrap/src/core/build_steps/synthetic_targets.rs2
-rw-r--r--src/bootstrap/src/core/build_steps/test.rs78
-rw-r--r--src/bootstrap/src/core/build_steps/tool.rs2
-rw-r--r--src/bootstrap/src/core/build_steps/toolstate.rs4
-rw-r--r--src/bootstrap/src/core/builder.rs37
-rw-r--r--src/bootstrap/src/core/config/config.rs130
-rw-r--r--src/bootstrap/src/core/download.rs20
-rw-r--r--src/bootstrap/src/lib.rs62
-rw-r--r--src/bootstrap/src/utils/bin_helpers.rs3
-rw-r--r--src/bootstrap/src/utils/cache.rs10
-rw-r--r--src/bootstrap/src/utils/cc_detect.rs12
-rw-r--r--src/bootstrap/src/utils/change_tracker.rs22
-rw-r--r--src/bootstrap/src/utils/channel.rs4
-rw-r--r--src/bootstrap/src/utils/helpers.rs9
-rw-r--r--src/bootstrap/src/utils/render_tests.rs20
-rw-r--r--src/bootstrap/src/utils/tarball.rs7
-rw-r--r--src/doc/unstable-book/src/compiler-flags/sanitizer.md44
-rw-r--r--src/librustdoc/clean/auto_trait.rs17
-rw-r--r--src/librustdoc/core.rs16
-rw-r--r--src/librustdoc/doctest.rs3
-rw-r--r--src/librustdoc/lib.rs7
-rw-r--r--src/librustdoc/passes/collect_intra_doc_links.rs37
m---------src/tools/cargo0
-rw-r--r--src/tools/clippy/clippy_lints/src/casts/cast_possible_truncation.rs4
-rw-r--r--src/tools/clippy/clippy_lints/src/functions/result.rs4
-rw-r--r--src/tools/clippy/clippy_lints/src/if_let_mutex.rs4
-rw-r--r--src/tools/clippy/clippy_lints/src/implicit_hasher.rs4
-rw-r--r--src/tools/clippy/clippy_lints/src/manual_clamp.rs4
-rw-r--r--src/tools/clippy/clippy_lints/src/matches/significant_drop_in_scrutinee.rs4
-rw-r--r--src/tools/clippy/clippy_lints/src/methods/suspicious_command_arg_space.rs4
-rw-r--r--src/tools/clippy/clippy_lints/src/missing_asserts_for_indexing.rs4
-rw-r--r--src/tools/clippy/clippy_lints/src/needless_pass_by_value.rs4
-rw-r--r--src/tools/clippy/clippy_utils/src/diagnostics.rs12
-rw-r--r--src/tools/clippy/clippy_utils/src/sugg.rs4
-rw-r--r--src/tools/clippy/tests/ui-toml/suppress_lint_in_const/test.rs5
-rw-r--r--src/tools/clippy/tests/ui-toml/suppress_lint_in_const/test.stderr33
-rw-r--r--src/tools/clippy/tests/ui/indexing_slicing_index.rs2
-rw-r--r--src/tools/clippy/tests/ui/indexing_slicing_index.stderr47
-rw-r--r--src/tools/clippy/tests/ui/non_send_fields_in_send_ty.rs1
-rw-r--r--src/tools/clippy/tests/ui/non_send_fields_in_send_ty.stderr52
-rw-r--r--src/tools/compiletest/src/errors.rs27
-rw-r--r--src/tools/compiletest/src/header.rs159
-rw-r--r--src/tools/compiletest/src/header/tests.rs13
-rw-r--r--src/tools/compiletest/src/lib.rs19
-rw-r--r--src/tools/compiletest/src/runtest.rs59
-rw-r--r--src/tools/miri/rust-version2
-rw-r--r--src/tools/miri/src/bin/miri.rs2
-rw-r--r--src/tools/miri/tests/fail/dangling_pointers/deref_dangling_box.rs2
-rw-r--r--src/tools/miri/tests/fail/dangling_pointers/deref_dangling_ref.rs2
-rw-r--r--src/tools/miri/tests/fail/provenance/ptr_invalid.rs4
-rw-r--r--src/tools/miri/tests/fail/provenance/ptr_invalid_offset.rs2
-rw-r--r--src/tools/miri/tests/pass-dep/shims/mmap.rs11
-rw-r--r--src/tools/miri/tests/pass-dep/shims/posix_memalign.rs4
-rw-r--r--src/tools/miri/tests/pass/align_offset_symbolic.rs2
-rw-r--r--src/tools/miri/tests/pass/atomic.rs6
-rw-r--r--src/tools/miri/tests/pass/ptr_raw.rs8
-rw-r--r--src/tools/miri/tests/pass/slices.rs7
-rw-r--r--src/tools/miri/tests/pass/underscore_pattern.rs4
-rw-r--r--src/tools/rust-analyzer/crates/ide-db/src/generated/lints.rs5
-rw-r--r--src/tools/tidy/src/deps.rs17
-rw-r--r--src/tools/tidy/src/issues.txt4387
-rw-r--r--src/tools/tidy/src/main.rs2
-rw-r--r--src/tools/tidy/src/ui_tests.rs84
78 files changed, 5157 insertions, 715 deletions
diff --git a/src/bootstrap/defaults/config.codegen.toml b/src/bootstrap/defaults/config.codegen.toml
deleted file mode 100644
index 7c33ce958c9..00000000000
--- a/src/bootstrap/defaults/config.codegen.toml
+++ /dev/null
@@ -1,25 +0,0 @@
-# These defaults are meant for contributors to the compiler who modify codegen or LLVM
-[build]
-# Contributors working on the compiler will probably expect compiler docs to be generated.
-compiler-docs = true
-
-[llvm]
-# This enables debug-assertions in LLVM,
-# catching logic errors in codegen much earlier in the process.
-assertions = true
-# enable warnings during the llvm compilation
-enable-warnings = true
-# build llvm from source
-download-ci-llvm = "if-unchanged"
-
-[rust]
-# This enables `RUSTC_LOG=debug`, avoiding confusing situations
-# where adding `debug!()` appears to do nothing.
-# However, it makes running the compiler slightly slower.
-debug-logging = true
-# This greatly increases the speed of rebuilds, especially when there are only minor changes. However, it makes the initial build slightly slower.
-incremental = true
-# Print backtrace on internal compiler errors during bootstrap
-backtrace-on-ice = true
-# Make the compiler and standard library faster to build, at the expense of a ~20% runtime slowdown.
-lto = "off"
diff --git a/src/bootstrap/defaults/config.compiler.toml b/src/bootstrap/defaults/config.compiler.toml
index b27b524b873..178c6e9056c 100644
--- a/src/bootstrap/defaults/config.compiler.toml
+++ b/src/bootstrap/defaults/config.compiler.toml
@@ -14,7 +14,15 @@ incremental = true
 backtrace-on-ice = true
 # Make the compiler and standard library faster to build, at the expense of a ~20% runtime slowdown.
 lto = "off"
+# Forces frame pointers to be used with `-Cforce-frame-pointers`.
+# This can be helpful for profiling at a small performance cost.
+frame-pointers = true
 
 [llvm]
+# This enables debug-assertions in LLVM,
+# catching logic errors in codegen much earlier in the process.
+assertions = true
+# Enable warnings during the LLVM compilation (when LLVM is changed, causing a compilation)
+enable-warnings = true
 # Will download LLVM from CI if available on your platform.
 download-ci-llvm = "if-unchanged"
diff --git a/src/bootstrap/src/bin/main.rs b/src/bootstrap/src/bin/main.rs
index b97f73aa652..070d951dba9 100644
--- a/src/bootstrap/src/bin/main.rs
+++ b/src/bootstrap/src/bin/main.rs
@@ -39,14 +39,14 @@ fn main() {
             .open(&lock_path)));
         _build_lock_guard = match build_lock.try_write() {
             Ok(mut lock) => {
-                t!(lock.write(&process::id().to_string().as_ref()));
+                t!(lock.write(process::id().to_string().as_ref()));
                 lock
             }
             err => {
                 drop(err);
                 println!("WARNING: build directory locked by process {pid}, waiting for lock");
                 let mut lock = t!(build_lock.write());
-                t!(lock.write(&process::id().to_string().as_ref()));
+                t!(lock.write(process::id().to_string().as_ref()));
                 lock
             }
         };
@@ -113,14 +113,14 @@ fn main() {
                 continue;
             }
 
-            let file = t!(fs::File::open(&entry.path()));
+            let file = t!(fs::File::open(entry.path()));
 
             // To ensure deterministic results we must sort the dump lines.
             // This is necessary because the order of rustc invocations different
             // almost all the time.
             let mut lines: Vec<String> = t!(BufReader::new(&file).lines().collect());
             lines.sort_by_key(|t| t.to_lowercase());
-            let mut file = t!(OpenOptions::new().write(true).truncate(true).open(&entry.path()));
+            let mut file = t!(OpenOptions::new().write(true).truncate(true).open(entry.path()));
             t!(file.write_all(lines.join("\n").as_bytes()));
         }
     }
@@ -156,7 +156,7 @@ fn check_version(config: &Config) -> Option<String> {
         msg.push_str("There have been changes to x.py since you last updated:\n");
 
         for change in changes {
-            msg.push_str(&format!("  [{}] {}\n", change.severity.to_string(), change.summary));
+            msg.push_str(&format!("  [{}] {}\n", change.severity, change.summary));
             msg.push_str(&format!(
                 "    - PR Link https://github.com/rust-lang/rust/pull/{}\n",
                 change.change_id
diff --git a/src/bootstrap/src/bin/rustc.rs b/src/bootstrap/src/bin/rustc.rs
index 38c55b20344..74a924d86c7 100644
--- a/src/bootstrap/src/bin/rustc.rs
+++ b/src/bootstrap/src/bin/rustc.rs
@@ -276,7 +276,7 @@ fn main() {
                 dur.as_secs(),
                 dur.subsec_millis(),
                 if rusage_data.is_some() { " " } else { "" },
-                rusage_data.unwrap_or(String::new()),
+                rusage_data.unwrap_or_default(),
             );
         }
     }
@@ -440,5 +440,5 @@ fn format_rusage_data(_child: Child) -> Option<String> {
         ));
     }
 
-    return Some(init_str);
+    Some(init_str)
 }
diff --git a/src/bootstrap/src/bin/sccache-plus-cl.rs b/src/bootstrap/src/bin/sccache-plus-cl.rs
index 554c2dd4d81..6e87d4222e8 100644
--- a/src/bootstrap/src/bin/sccache-plus-cl.rs
+++ b/src/bootstrap/src/bin/sccache-plus-cl.rs
@@ -18,9 +18,9 @@ fn main() {
 
     // Invoke sccache with said compiler
     let sccache_path = env::var_os("SCCACHE_PATH").unwrap();
-    let mut cmd = Command::new(&sccache_path);
+    let mut cmd = Command::new(sccache_path);
     cmd.arg(compiler.path());
-    for &(ref k, ref v) in compiler.env() {
+    for (k, v) in compiler.env() {
         cmd.env(k, v);
     }
     for arg in env::args().skip(1) {
diff --git a/src/bootstrap/src/core/build_steps/check.rs b/src/bootstrap/src/core/build_steps/check.rs
index 4a04dbf44aa..3ac60f15ef6 100644
--- a/src/bootstrap/src/core/build_steps/check.rs
+++ b/src/bootstrap/src/core/build_steps/check.rs
@@ -34,7 +34,7 @@ fn args(builder: &Builder<'_>) -> Vec<String> {
         &builder.config.cmd
     {
         // disable the most spammy clippy lints
-        let ignored_lints = vec![
+        let ignored_lints = [
             "many_single_char_names", // there are a lot in stdarch
             "collapsible_if",
             "type_complexity",
@@ -150,7 +150,7 @@ impl Step for Std {
         if compiler.stage == 0 {
             let libdir = builder.sysroot_libdir(compiler, target);
             let hostdir = builder.sysroot_libdir(compiler, compiler.host);
-            add_to_sysroot(&builder, &libdir, &hostdir, &libstd_stamp(builder, compiler, target));
+            add_to_sysroot(builder, &libdir, &hostdir, &libstd_stamp(builder, compiler, target));
         }
         drop(_guard);
 
@@ -301,7 +301,7 @@ impl Step for Rustc {
 
         let libdir = builder.sysroot_libdir(compiler, target);
         let hostdir = builder.sysroot_libdir(compiler, compiler.host);
-        add_to_sysroot(&builder, &libdir, &hostdir, &librustc_stamp(builder, compiler, target));
+        add_to_sysroot(builder, &libdir, &hostdir, &librustc_stamp(builder, compiler, target));
     }
 }
 
@@ -353,7 +353,7 @@ impl Step for CodegenBackend {
             .arg(builder.src.join(format!("compiler/rustc_codegen_{backend}/Cargo.toml")));
         rustc_cargo_env(builder, &mut cargo, target, compiler.stage);
 
-        let _guard = builder.msg_check(&backend, target);
+        let _guard = builder.msg_check(backend, target);
 
         run_cargo(
             builder,
diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs
index 9d7f88a9d42..d349cd67fed 100644
--- a/src/bootstrap/src/core/build_steps/compile.rs
+++ b/src/bootstrap/src/core/build_steps/compile.rs
@@ -107,8 +107,8 @@ impl Std {
     ) -> Vec<(PathBuf, DependencyType)> {
         let mut deps = Vec::new();
         if !self.is_for_mir_opt_tests {
-            deps.extend(copy_third_party_objects(builder, &compiler, target));
-            deps.extend(copy_self_contained_objects(builder, &compiler, target));
+            deps.extend(copy_third_party_objects(builder, compiler, target));
+            deps.extend(copy_self_contained_objects(builder, compiler, target));
         }
         deps
     }
@@ -186,7 +186,7 @@ impl Step for Std {
 
         // Profiler information requires LLVM's compiler-rt
         if builder.config.profiler {
-            builder.update_submodule(&Path::new("src/llvm-project"));
+            builder.update_submodule(Path::new("src/llvm-project"));
         }
 
         let mut target_deps = builder.ensure(StartupObjects { compiler, target });
@@ -271,7 +271,7 @@ impl Step for Std {
         if target.is_synthetic() {
             cargo.env("RUSTC_BOOTSTRAP_SYNTHETIC_TARGET", "1");
         }
-        for rustflag in self.extra_rust_args.into_iter() {
+        for rustflag in self.extra_rust_args.iter() {
             cargo.rustflag(rustflag);
         }
 
@@ -333,7 +333,7 @@ fn copy_third_party_objects(
         // The sanitizers are only copied in stage1 or above,
         // to avoid creating dependency on LLVM.
         target_deps.extend(
-            copy_sanitizers(builder, &compiler, target)
+            copy_sanitizers(builder, compiler, target)
                 .into_iter()
                 .map(|d| (d, DependencyType::Target)),
         );
@@ -487,7 +487,7 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
 
         // for no-std targets we only compile a few no_std crates
         cargo
-            .args(&["-p", "alloc"])
+            .args(["-p", "alloc"])
             .arg("--manifest-path")
             .arg(builder.src.join("library/alloc/Cargo.toml"))
             .arg("--features")
@@ -626,20 +626,20 @@ impl Step for StdLink {
                 .build
                 .config
                 .initial_rustc
-                .starts_with(builder.out.join(&compiler.host.triple).join("stage0/bin"))
+                .starts_with(builder.out.join(compiler.host.triple).join("stage0/bin"))
         {
             // Copy bin files from stage0/bin to stage0-sysroot/bin
-            let sysroot = builder.out.join(&compiler.host.triple).join("stage0-sysroot");
+            let sysroot = builder.out.join(compiler.host.triple).join("stage0-sysroot");
 
             let host = compiler.host.triple;
-            let stage0_bin_dir = builder.out.join(&host).join("stage0/bin");
+            let stage0_bin_dir = builder.out.join(host).join("stage0/bin");
             let sysroot_bin_dir = sysroot.join("bin");
             t!(fs::create_dir_all(&sysroot_bin_dir));
             builder.cp_r(&stage0_bin_dir, &sysroot_bin_dir);
 
             // Copy all *.so files from stage0/lib to stage0-sysroot/lib
-            let stage0_lib_dir = builder.out.join(&host).join("stage0/lib");
-            if let Ok(files) = fs::read_dir(&stage0_lib_dir) {
+            let stage0_lib_dir = builder.out.join(host).join("stage0/lib");
+            if let Ok(files) = fs::read_dir(stage0_lib_dir) {
                 for file in files {
                     let file = t!(file);
                     let path = file.path();
@@ -654,9 +654,9 @@ impl Step for StdLink {
             t!(fs::create_dir_all(&sysroot_codegen_backends));
             let stage0_codegen_backends = builder
                 .out
-                .join(&host)
+                .join(host)
                 .join("stage0/lib/rustlib")
-                .join(&host)
+                .join(host)
                 .join("codegen-backends");
             if stage0_codegen_backends.exists() {
                 builder.cp_r(&stage0_codegen_backends, &sysroot_codegen_backends);
@@ -1179,7 +1179,7 @@ fn rustc_llvm_env(builder: &Builder<'_>, cargo: &mut Cargo, target: TargetSelect
     // The config can also specify its own llvm linker flags.
     if let Some(ref s) = builder.config.llvm_ldflags {
         if !llvm_linker_flags.is_empty() {
-            llvm_linker_flags.push_str(" ");
+            llvm_linker_flags.push(' ');
         }
         llvm_linker_flags.push_str(s);
     }
@@ -1270,7 +1270,7 @@ fn needs_codegen_config(run: &RunConfig<'_>) -> bool {
     for path_set in &run.paths {
         needs_codegen_cfg = match path_set {
             PathSet::Set(set) => set.iter().any(|p| is_codegen_cfg_needed(p, run)),
-            PathSet::Suite(suite) => is_codegen_cfg_needed(&suite, run),
+            PathSet::Suite(suite) => is_codegen_cfg_needed(suite, run),
         }
     }
     needs_codegen_cfg
@@ -1279,7 +1279,7 @@ fn needs_codegen_config(run: &RunConfig<'_>) -> bool {
 pub(crate) const CODEGEN_BACKEND_PREFIX: &str = "rustc_codegen_";
 
 fn is_codegen_cfg_needed(path: &TaskPath, run: &RunConfig<'_>) -> bool {
-    if path.path.to_str().unwrap().contains(&CODEGEN_BACKEND_PREFIX) {
+    if path.path.to_str().unwrap().contains(CODEGEN_BACKEND_PREFIX) {
         let mut needs_codegen_backend_config = true;
         for &backend in run.builder.config.codegen_backends(run.target) {
             if path
@@ -1300,7 +1300,7 @@ fn is_codegen_cfg_needed(path: &TaskPath, run: &RunConfig<'_>) -> bool {
         }
     }
 
-    return false;
+    false
 }
 
 impl Step for CodegenBackend {
@@ -1393,7 +1393,7 @@ impl Step for CodegenBackend {
         }
         let stamp = codegen_backend_stamp(builder, compiler, target, backend);
         let codegen_backend = codegen_backend.to_str().unwrap();
-        t!(fs::write(&stamp, &codegen_backend));
+        t!(fs::write(stamp, codegen_backend));
     }
 }
 
@@ -1441,7 +1441,7 @@ fn copy_codegen_backends_to_sysroot(
             let dot = filename.find('.').unwrap();
             format!("{}-{}{}", &filename[..dash], builder.rust_release(), &filename[dot..])
         };
-        builder.copy(&file, &dst.join(target_filename));
+        builder.copy(file, &dst.join(target_filename));
     }
 }
 
@@ -1519,7 +1519,7 @@ impl Step for Sysroot {
     /// 1-3.
     fn run(self, builder: &Builder<'_>) -> Interned<PathBuf> {
         let compiler = self.compiler;
-        let host_dir = builder.out.join(&compiler.host.triple);
+        let host_dir = builder.out.join(compiler.host.triple);
 
         let sysroot_dir = |stage| {
             if stage == 0 {
@@ -1578,7 +1578,7 @@ impl Step for Sysroot {
             let mut add_filtered_files = |suffix, contents| {
                 for path in contents {
                     let path = Path::new(&path);
-                    if path.parent().map_or(false, |parent| parent.ends_with(&suffix)) {
+                    if path.parent().map_or(false, |parent| parent.ends_with(suffix)) {
                         filtered_files.push(path.file_name().unwrap().to_owned());
                     }
                 }
@@ -1802,7 +1802,7 @@ impl Step for Assemble {
         if let Some(lld_install) = lld_install {
             let src_exe = exe("lld", target_compiler.host);
             let dst_exe = exe("rust-lld", target_compiler.host);
-            builder.copy(&lld_install.join("bin").join(&src_exe), &libdir_bin.join(&dst_exe));
+            builder.copy(&lld_install.join("bin").join(src_exe), &libdir_bin.join(dst_exe));
             let self_contained_lld_dir = libdir_bin.join("gcc-ld");
             t!(fs::create_dir_all(&self_contained_lld_dir));
             let lld_wrapper_exe = builder.ensure(crate::core::build_steps::tool::LldWrapper {
@@ -1850,7 +1850,7 @@ impl Step for Assemble {
         let out_dir = builder.cargo_out(build_compiler, Mode::Rustc, host);
         let rustc = out_dir.join(exe("rustc-main", host));
         let bindir = sysroot.join("bin");
-        t!(fs::create_dir_all(&bindir));
+        t!(fs::create_dir_all(bindir));
         let compiler = builder.rustc(target_compiler);
         builder.copy(&rustc, &compiler);
 
@@ -1869,9 +1869,9 @@ pub fn add_to_sysroot(
     stamp: &Path,
 ) {
     let self_contained_dst = &sysroot_dst.join("self-contained");
-    t!(fs::create_dir_all(&sysroot_dst));
-    t!(fs::create_dir_all(&sysroot_host_dst));
-    t!(fs::create_dir_all(&self_contained_dst));
+    t!(fs::create_dir_all(sysroot_dst));
+    t!(fs::create_dir_all(sysroot_host_dst));
+    t!(fs::create_dir_all(self_contained_dst));
     for (path, dependency_type) in builder.read_stamp_file(stamp) {
         let dst = match dependency_type {
             DependencyType::Host => sysroot_host_dst,
@@ -2009,14 +2009,14 @@ pub fn run_cargo(
         .map(|e| (e.path(), e.file_name().into_string().unwrap(), t!(e.metadata())))
         .collect::<Vec<_>>();
     for (prefix, extension, expected_len) in toplevel {
-        let candidates = contents.iter().filter(|&&(_, ref filename, ref meta)| {
+        let candidates = contents.iter().filter(|&(_, filename, meta)| {
             meta.len() == expected_len
                 && filename
                     .strip_prefix(&prefix[..])
                     .map(|s| s.starts_with('-') && s.ends_with(&extension[..]))
                     .unwrap_or(false)
         });
-        let max = candidates.max_by_key(|&&(_, _, ref metadata)| {
+        let max = candidates.max_by_key(|&(_, _, metadata)| {
             metadata.modified().expect("mtime should be available on all relevant OSes")
         });
         let path_to_add = match max {
@@ -2045,7 +2045,7 @@ pub fn run_cargo(
         new_contents.extend(dep.to_str().unwrap().as_bytes());
         new_contents.extend(b"\0");
     }
-    t!(fs::write(&stamp, &new_contents));
+    t!(fs::write(stamp, &new_contents));
     deps.into_iter().map(|(d, _)| d).collect()
 }
 
diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs
index 6d56492e41b..d9ab18e7250 100644
--- a/src/bootstrap/src/core/build_steps/dist.rs
+++ b/src/bootstrap/src/core/build_steps/dist.rs
@@ -78,7 +78,7 @@ impl Step for Docs {
         let mut tarball = Tarball::new(builder, "rust-docs", &host.triple);
         tarball.set_product_name("Rust Documentation");
         tarball.add_bulk_dir(&builder.doc_out(host), dest);
-        tarball.add_file(&builder.src.join("src/doc/robots.txt"), dest, 0o644);
+        tarball.add_file(builder.src.join("src/doc/robots.txt"), dest, 0o644);
         Some(tarball.generate())
     }
 }
@@ -342,7 +342,7 @@ impl Step for Mingw {
         // thrown away (this contains the runtime DLLs included in the rustc package
         // above) and the second argument is where to place all the MinGW components
         // (which is what we want).
-        make_win_dist(&tmpdir(builder), tarball.image_dir(), host, &builder);
+        make_win_dist(&tmpdir(builder), tarball.image_dir(), host, builder);
 
         Some(tarball.generate())
     }
@@ -398,10 +398,11 @@ impl Step for Rustc {
             let host = compiler.host;
             let src = builder.sysroot(compiler);
 
-            // Copy rustc/rustdoc binaries
+            // Copy rustc binary
             t!(fs::create_dir_all(image.join("bin")));
             builder.cp_r(&src.join("bin"), &image.join("bin"));
 
+            // If enabled, copy rustdoc binary
             if builder
                 .config
                 .tools
@@ -657,7 +658,7 @@ impl Step for Std {
         let compiler_to_use = builder.compiler_for(compiler.stage, compiler.host, target);
         let stamp = compile::libstd_stamp(builder, compiler_to_use, target);
         verify_uefi_rlib_format(builder, target, &stamp);
-        copy_target_libs(builder, target, &tarball.image_dir(), &stamp);
+        copy_target_libs(builder, target, tarball.image_dir(), &stamp);
 
         Some(tarball.generate())
     }
@@ -733,7 +734,7 @@ impl Step for Analysis {
     const DEFAULT: bool = true;
 
     fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
-        let default = should_build_extended_tool(&run.builder, "analysis");
+        let default = should_build_extended_tool(run.builder, "analysis");
         run.alias("rust-analysis").default_condition(default)
     }
 
@@ -889,7 +890,7 @@ impl Step for Src {
     /// Creates the `rust-src` installer component
     fn run(self, builder: &Builder<'_>) -> GeneratedTarball {
         if !builder.config.dry_run() {
-            builder.update_submodule(&Path::new("src/llvm-project"));
+            builder.update_submodule(Path::new("src/llvm-project"));
         }
 
         let tarball = Tarball::new_targetless(builder, "rust-src");
@@ -975,7 +976,7 @@ impl Step for PlainSourceTarball {
         ];
         let src_dirs = ["src", "compiler", "library", "tests"];
 
-        copy_src_dirs(builder, &builder.src, &src_dirs, &[], &plain_dst_src);
+        copy_src_dirs(builder, &builder.src, &src_dirs, &[], plain_dst_src);
 
         // Copy the files normally
         for item in &src_files {
@@ -985,8 +986,8 @@ impl Step for PlainSourceTarball {
         // Create the version file
         builder.create(&plain_dst_src.join("version"), &builder.rust_version());
         if let Some(info) = builder.rust_info().info() {
-            channel::write_commit_hash_file(&plain_dst_src, &info.sha);
-            channel::write_commit_info_file(&plain_dst_src, info);
+            channel::write_commit_hash_file(plain_dst_src, &info.sha);
+            channel::write_commit_info_file(plain_dst_src, info);
         }
 
         // If we're building from git or tarball sources, we need to vendor
@@ -1013,7 +1014,7 @@ impl Step for PlainSourceTarball {
                 // Will read the libstd Cargo.toml
                 // which uses the unstable `public-dependency` feature.
                 .env("RUSTC_BOOTSTRAP", "1")
-                .current_dir(&plain_dst_src);
+                .current_dir(plain_dst_src);
 
             let config = if !builder.config.dry_run() {
                 t!(String::from_utf8(t!(cmd.output()).stdout))
@@ -1042,7 +1043,7 @@ impl Step for Cargo {
     const ONLY_HOSTS: bool = true;
 
     fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
-        let default = should_build_extended_tool(&run.builder, "cargo");
+        let default = should_build_extended_tool(run.builder, "cargo");
         run.alias("cargo").default_condition(default)
     }
 
@@ -1069,7 +1070,7 @@ impl Step for Cargo {
         let mut tarball = Tarball::new(builder, "cargo", &target.triple);
         tarball.set_overlay(OverlayKind::Cargo);
 
-        tarball.add_file(&cargo, "bin", 0o755);
+        tarball.add_file(cargo, "bin", 0o755);
         tarball.add_file(etc.join("_cargo"), "share/zsh/site-functions", 0o644);
         tarball.add_renamed_file(etc.join("cargo.bashcomp.sh"), "etc/bash_completion.d", "cargo");
         tarball.add_dir(etc.join("man"), "share/man/man1");
@@ -1091,7 +1092,7 @@ impl Step for Rls {
     const DEFAULT: bool = true;
 
     fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
-        let default = should_build_extended_tool(&run.builder, "rls");
+        let default = should_build_extended_tool(run.builder, "rls");
         run.alias("rls").default_condition(default)
     }
 
@@ -1133,7 +1134,7 @@ impl Step for RustAnalyzer {
     const ONLY_HOSTS: bool = true;
 
     fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
-        let default = should_build_extended_tool(&run.builder, "rust-analyzer");
+        let default = should_build_extended_tool(run.builder, "rust-analyzer");
         run.alias("rust-analyzer").default_condition(default)
     }
 
@@ -1175,7 +1176,7 @@ impl Step for Clippy {
     const ONLY_HOSTS: bool = true;
 
     fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
-        let default = should_build_extended_tool(&run.builder, "clippy");
+        let default = should_build_extended_tool(run.builder, "clippy");
         run.alias("clippy").default_condition(default)
     }
 
@@ -1223,7 +1224,7 @@ impl Step for Miri {
     const ONLY_HOSTS: bool = true;
 
     fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
-        let default = should_build_extended_tool(&run.builder, "miri");
+        let default = should_build_extended_tool(run.builder, "miri");
         run.alias("miri").default_condition(default)
     }
 
@@ -1336,12 +1337,12 @@ impl Step for CodegenBackend {
         let src = builder.sysroot(compiler);
         let backends_src = builder.sysroot_codegen_backends(compiler);
         let backends_rel = backends_src
-            .strip_prefix(&src)
+            .strip_prefix(src)
             .unwrap()
             .strip_prefix(builder.sysroot_libdir_relative(compiler))
             .unwrap();
         // Don't use custom libdir here because ^lib/ will be resolved again with installer
-        let backends_dst = PathBuf::from("lib").join(&backends_rel);
+        let backends_dst = PathBuf::from("lib").join(backends_rel);
 
         let backend_name = format!("rustc_codegen_{}", backend);
         let mut found_backend = false;
@@ -1370,7 +1371,7 @@ impl Step for Rustfmt {
     const ONLY_HOSTS: bool = true;
 
     fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
-        let default = should_build_extended_tool(&run.builder, "rustfmt");
+        let default = should_build_extended_tool(run.builder, "rustfmt");
         run.alias("rustfmt").default_condition(default)
     }
 
@@ -1453,7 +1454,7 @@ impl Step for RustDemangler {
         let mut tarball = Tarball::new(builder, "rust-demangler", &target.triple);
         tarball.set_overlay(OverlayKind::RustDemangler);
         tarball.is_preview(true);
-        tarball.add_file(&rust_demangler, "bin", 0o755);
+        tarball.add_file(rust_demangler, "bin", 0o755);
         tarball.add_legal_and_readme_to("share/doc/rust-demangler");
         Some(tarball.generate())
     }
@@ -1608,7 +1609,7 @@ impl Step for Extended {
             let prepare = |name: &str| {
                 builder.create_dir(&pkg.join(name));
                 builder.cp_r(
-                    &work.join(&format!("{}-{}", pkgname(builder, name), target.triple)),
+                    &work.join(format!("{}-{}", pkgname(builder, name), target.triple)),
                     &pkg.join(name),
                 );
                 builder.install(&etc.join("pkg/postinstall"), &pkg.join(name), 0o755);
@@ -1672,7 +1673,7 @@ impl Step for Extended {
                     name.to_string()
                 };
                 builder.cp_r(
-                    &work.join(&format!("{}-{}", pkgname(builder, name), target.triple)).join(dir),
+                    &work.join(format!("{}-{}", pkgname(builder, name), target.triple)).join(dir),
                     &exe.join(name),
                 );
                 builder.remove(&exe.join(name).join("manifest.in"));
@@ -1706,7 +1707,7 @@ impl Step for Extended {
                     .current_dir(&exe)
                     .arg("dir")
                     .arg("rustc")
-                    .args(&heat_flags)
+                    .args(heat_flags)
                     .arg("-cg")
                     .arg("RustcGroup")
                     .arg("-dr")
@@ -1722,7 +1723,7 @@ impl Step for Extended {
                         .current_dir(&exe)
                         .arg("dir")
                         .arg("rust-docs")
-                        .args(&heat_flags)
+                        .args(heat_flags)
                         .arg("-cg")
                         .arg("DocsGroup")
                         .arg("-dr")
@@ -1740,7 +1741,7 @@ impl Step for Extended {
                     .current_dir(&exe)
                     .arg("dir")
                     .arg("cargo")
-                    .args(&heat_flags)
+                    .args(heat_flags)
                     .arg("-cg")
                     .arg("CargoGroup")
                     .arg("-dr")
@@ -1757,7 +1758,7 @@ impl Step for Extended {
                     .current_dir(&exe)
                     .arg("dir")
                     .arg("rust-std")
-                    .args(&heat_flags)
+                    .args(heat_flags)
                     .arg("-cg")
                     .arg("StdGroup")
                     .arg("-dr")
@@ -1773,7 +1774,7 @@ impl Step for Extended {
                         .current_dir(&exe)
                         .arg("dir")
                         .arg("rust-analyzer")
-                        .args(&heat_flags)
+                        .args(heat_flags)
                         .arg("-cg")
                         .arg("RustAnalyzerGroup")
                         .arg("-dr")
@@ -1792,7 +1793,7 @@ impl Step for Extended {
                         .current_dir(&exe)
                         .arg("dir")
                         .arg("clippy")
-                        .args(&heat_flags)
+                        .args(heat_flags)
                         .arg("-cg")
                         .arg("ClippyGroup")
                         .arg("-dr")
@@ -1811,7 +1812,7 @@ impl Step for Extended {
                         .current_dir(&exe)
                         .arg("dir")
                         .arg("rust-demangler")
-                        .args(&heat_flags)
+                        .args(heat_flags)
                         .arg("-cg")
                         .arg("RustDemanglerGroup")
                         .arg("-dr")
@@ -1830,7 +1831,7 @@ impl Step for Extended {
                         .current_dir(&exe)
                         .arg("dir")
                         .arg("miri")
-                        .args(&heat_flags)
+                        .args(heat_flags)
                         .arg("-cg")
                         .arg("MiriGroup")
                         .arg("-dr")
@@ -1848,7 +1849,7 @@ impl Step for Extended {
                     .current_dir(&exe)
                     .arg("dir")
                     .arg("rust-analysis")
-                    .args(&heat_flags)
+                    .args(heat_flags)
                     .arg("-cg")
                     .arg("AnalysisGroup")
                     .arg("-dr")
@@ -1866,7 +1867,7 @@ impl Step for Extended {
                         .current_dir(&exe)
                         .arg("dir")
                         .arg("rust-mingw")
-                        .args(&heat_flags)
+                        .args(heat_flags)
                         .arg("-cg")
                         .arg("GccGroup")
                         .arg("-dr")
@@ -1889,10 +1890,10 @@ impl Step for Extended {
                     .arg("-dStdDir=rust-std")
                     .arg("-dAnalysisDir=rust-analysis")
                     .arg("-arch")
-                    .arg(&arch)
+                    .arg(arch)
                     .arg("-out")
                     .arg(&output)
-                    .arg(&input);
+                    .arg(input);
                 add_env(builder, &mut cmd, target);
 
                 if built_tools.contains("clippy") {
@@ -2025,7 +2026,7 @@ fn install_llvm_file(builder: &Builder<'_>, source: &Path, destination: &Path) {
         return;
     }
 
-    builder.install(&source, destination, 0o644);
+    builder.install(source, destination, 0o644);
 }
 
 /// Maybe add LLVM object files to the given destination lib-dir. Allows either static or dynamic linking.
@@ -2122,7 +2123,7 @@ impl Step for LlvmTools {
     const DEFAULT: bool = true;
 
     fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
-        let default = should_build_extended_tool(&run.builder, "llvm-tools");
+        let default = should_build_extended_tool(run.builder, "llvm-tools");
         // FIXME: allow using the names of the tools themselves?
         run.alias("llvm-tools").default_condition(default)
     }
@@ -2230,12 +2231,12 @@ impl Step for RustDev {
             tarball.add_file(lld_path, "bin", 0o755);
         }
 
-        tarball.add_file(&builder.llvm_filecheck(target), "bin", 0o755);
+        tarball.add_file(builder.llvm_filecheck(target), "bin", 0o755);
 
         // Copy the include directory as well; needed mostly to build
         // librustc_llvm properly (e.g., llvm-config.h is in here). But also
         // just broadly useful to be able to link against the bundled LLVM.
-        tarball.add_dir(&builder.llvm_out(target).join("include"), "include");
+        tarball.add_dir(builder.llvm_out(target).join("include"), "include");
 
         // Copy libLLVM.so to the target lib dir as well, so the RPATH like
         // `$ORIGIN/../lib` can find it. It may also be used as a dependency
@@ -2311,7 +2312,7 @@ impl Step for BuildManifest {
         let build_manifest = builder.tool_exe(Tool::BuildManifest);
 
         let tarball = Tarball::new(builder, "build-manifest", &self.target.triple);
-        tarball.add_file(&build_manifest, "bin", 0o755);
+        tarball.add_file(build_manifest, "bin", 0o755);
         tarball.generate()
     }
 }
diff --git a/src/bootstrap/src/core/build_steps/doc.rs b/src/bootstrap/src/core/build_steps/doc.rs
index fdb099e4ab1..7a122a8676b 100644
--- a/src/bootstrap/src/core/build_steps/doc.rs
+++ b/src/bootstrap/src/core/build_steps/doc.rs
@@ -151,7 +151,7 @@ impl<P: Step> Step for RustbookSrc<P> {
             builder.info(&format!("Rustbook ({target}) - {name}"));
             let _ = fs::remove_dir_all(&out);
 
-            builder.run(rustbook_cmd.arg("build").arg(&src).arg("-d").arg(out));
+            builder.run(rustbook_cmd.arg("build").arg(src).arg("-d").arg(out));
         }
 
         if self.parent.is_some() {
@@ -384,7 +384,7 @@ impl Step for Standalone {
         // with no particular explicit doc requested (e.g. library/core).
         if builder.paths.is_empty() || builder.was_invoked_explicitly::<Self>(Kind::Doc) {
             let index = out.join("index.html");
-            builder.open_in_browser(&index);
+            builder.open_in_browser(index);
         }
     }
 }
@@ -517,7 +517,7 @@ impl Step for SharedAssets {
                 .replace("VERSION", &builder.rust_release())
                 .replace("SHORT_HASH", builder.rust_info().sha_short().unwrap_or(""))
                 .replace("STAMP", builder.rust_info().sha().unwrap_or(""));
-            t!(fs::write(&version_info, &info));
+            t!(fs::write(&version_info, info));
         }
 
         builder.copy(&builder.src.join("src").join("doc").join("rust.css"), &out.join("rust.css"));
@@ -714,11 +714,11 @@ fn doc_std(
     }
 
     let description =
-        format!("library{} in {} format", crate_description(&requested_crates), format.as_str());
-    let _guard = builder.msg_doc(compiler, &description, target);
+        format!("library{} in {} format", crate_description(requested_crates), format.as_str());
+    let _guard = builder.msg_doc(compiler, description, target);
 
     builder.run(&mut cargo.into());
-    builder.cp_r(&out_dir, &out);
+    builder.cp_r(&out_dir, out);
 }
 
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
@@ -781,7 +781,7 @@ impl Step for Rustc {
         let _guard = builder.msg_sysroot_tool(
             Kind::Doc,
             stage,
-            &format!("compiler{}", crate_description(&self.crates)),
+            format!("compiler{}", crate_description(&self.crates)),
             compiler.host,
             target,
         );
@@ -819,7 +819,7 @@ impl Step for Rustc {
             // Create all crate output directories first to make sure rustdoc uses
             // relative links.
             // FIXME: Cargo should probably do this itself.
-            let dir_name = krate.replace("-", "_");
+            let dir_name = krate.replace('-', "_");
             t!(fs::create_dir_all(out_dir.join(&*dir_name)));
             cargo.arg("-p").arg(krate);
             if to_open.is_none() {
@@ -844,7 +844,7 @@ impl Step for Rustc {
         if !builder.config.dry_run() {
             // Sanity check on linked compiler crates
             for krate in &*self.crates {
-                let dir_name = krate.replace("-", "_");
+                let dir_name = krate.replace('-', "_");
                 // Making sure the directory exists and is not empty.
                 assert!(out.join(&*dir_name).read_dir().unwrap().next().is_some());
             }
@@ -1160,7 +1160,7 @@ impl Step for RustcBook {
         cmd.arg(&out_listing);
         cmd.arg("--rustc");
         cmd.arg(&rustc);
-        cmd.arg("--rustc-target").arg(&self.target.rustc_target_arg());
+        cmd.arg("--rustc-target").arg(self.target.rustc_target_arg());
         if builder.is_verbose() {
             cmd.arg("--verbose");
         }
diff --git a/src/bootstrap/src/core/build_steps/format.rs b/src/bootstrap/src/core/build_steps/format.rs
index e792d38b7ea..69c8792b031 100644
--- a/src/bootstrap/src/core/build_steps/format.rs
+++ b/src/bootstrap/src/core/build_steps/format.rs
@@ -11,7 +11,7 @@ use std::process::{Command, Stdio};
 use std::sync::mpsc::SyncSender;
 
 fn rustfmt(src: &Path, rustfmt: &Path, paths: &[PathBuf], check: bool) -> impl FnMut(bool) -> bool {
-    let mut cmd = Command::new(&rustfmt);
+    let mut cmd = Command::new(rustfmt);
     // avoid the submodule config paths from coming into play,
     // we only allow a single global config for the workspace for now
     cmd.arg("--config-path").arg(&src.canonicalize().unwrap());
@@ -162,7 +162,7 @@ pub fn format(build: &Builder<'_>, check: bool, paths: &[PathBuf]) {
                 // against anything like `compiler/rustc_foo/src/foo.rs`,
                 // preventing the latter from being formatted.
                 untracked_count += 1;
-                fmt_override.add(&format!("!/{untracked_path}")).expect(&untracked_path);
+                fmt_override.add(&format!("!/{untracked_path}")).expect(untracked_path);
             }
             // Only check modified files locally to speed up runtime.
             // We still check all files in CI to avoid bugs in `get_modified_rs_files` letting regressions slip through;
@@ -221,7 +221,7 @@ pub fn format(build: &Builder<'_>, check: bool, paths: &[PathBuf]) {
     assert!(rustfmt_path.exists(), "{}", rustfmt_path.display());
     let src = build.src.clone();
     let (tx, rx): (SyncSender<PathBuf>, _) = std::sync::mpsc::sync_channel(128);
-    let walker = match paths.get(0) {
+    let walker = match paths.first() {
         Some(first) => {
             let find_shortcut_candidates = |p: &PathBuf| {
                 let mut candidates = Vec::new();
diff --git a/src/bootstrap/src/core/build_steps/install.rs b/src/bootstrap/src/core/build_steps/install.rs
index 1c565e7f7cc..29238b90225 100644
--- a/src/bootstrap/src/core/build_steps/install.rs
+++ b/src/bootstrap/src/core/build_steps/install.rs
@@ -24,7 +24,7 @@ const SHELL: &str = "sh";
 // We have to run a few shell scripts, which choke quite a bit on both `\`
 // characters and on `C:\` paths, so normalize both of them away.
 fn sanitize_sh(path: &Path) -> String {
-    let path = path.to_str().unwrap().replace("\\", "/");
+    let path = path.to_str().unwrap().replace('\\', "/");
     return change_drive(unc_to_lfs(&path)).unwrap_or(path);
 
     fn unc_to_lfs(s: &str) -> &str {
@@ -44,7 +44,7 @@ fn sanitize_sh(path: &Path) -> String {
     }
 }
 
-fn is_dir_writable_for_user(dir: &PathBuf) -> bool {
+fn is_dir_writable_for_user(dir: &Path) -> bool {
     let tmp = dir.join(".tmp");
     match fs::create_dir_all(&tmp) {
         Ok(_) => {
@@ -95,7 +95,7 @@ fn install_sh(
     }
 
     let datadir = prefix.join(default_path(&builder.config.datadir, "share"));
-    let docdir = prefix.join(default_path(&builder.config.docdir, "share/doc/rust"));
+    let docdir = prefix.join(default_path(&builder.config.docdir, &format!("share/doc/{package}")));
     let mandir = prefix.join(default_path(&builder.config.mandir, "share/man"));
     let libdir = prefix.join(default_path(&builder.config.libdir, "lib"));
     let bindir = prefix.join(&builder.config.bindir); // Default in config.rs
diff --git a/src/bootstrap/src/core/build_steps/llvm.rs b/src/bootstrap/src/core/build_steps/llvm.rs
index 836ac3de94d..9622321a74e 100644
--- a/src/bootstrap/src/core/build_steps/llvm.rs
+++ b/src/bootstrap/src/core/build_steps/llvm.rs
@@ -110,7 +110,7 @@ pub fn prebuilt_llvm_config(
     let smart_stamp_hash = STAMP_HASH_MEMO.get_or_init(|| {
         generate_smart_stamp_hash(
             &builder.config.src.join("src/llvm-project"),
-            &builder.in_tree_llvm_info.sha().unwrap_or_default(),
+            builder.in_tree_llvm_info.sha().unwrap_or_default(),
         )
     });
 
@@ -289,7 +289,7 @@ impl Step for Llvm {
 
         let _guard = builder.msg_unstaged(Kind::Build, "LLVM", target);
         t!(stamp.remove());
-        let _time = helpers::timeit(&builder);
+        let _time = helpers::timeit(builder);
         t!(fs::create_dir_all(&out_dir));
 
         // https://llvm.org/docs/CMake.html
@@ -355,7 +355,7 @@ impl Step for Llvm {
             cfg.define("LLVM_BUILD_RUNTIME", "No");
         }
         if let Some(path) = builder.config.llvm_profile_use.as_ref() {
-            cfg.define("LLVM_PROFDATA_FILE", &path);
+            cfg.define("LLVM_PROFDATA_FILE", path);
         }
 
         // Disable zstd to avoid a dependency on libzstd.so.
@@ -643,7 +643,7 @@ fn configure_cmake(
 
     let sanitize_cc = |cc: &Path| {
         if target.is_msvc() {
-            OsString::from(cc.to_str().unwrap().replace("\\", "/"))
+            OsString::from(cc.to_str().unwrap().replace('\\', "/"))
         } else {
             cc.as_os_str().to_owned()
         }
@@ -808,10 +808,10 @@ fn configure_llvm(builder: &Builder<'_>, target: TargetSelection, cfg: &mut cmak
 // Adapted from https://github.com/alexcrichton/cc-rs/blob/fba7feded71ee4f63cfe885673ead6d7b4f2f454/src/lib.rs#L2347-L2365
 fn get_var(var_base: &str, host: &str, target: &str) -> Option<OsString> {
     let kind = if host == target { "HOST" } else { "TARGET" };
-    let target_u = target.replace("-", "_");
-    env::var_os(&format!("{var_base}_{target}"))
-        .or_else(|| env::var_os(&format!("{}_{}", var_base, target_u)))
-        .or_else(|| env::var_os(&format!("{}_{}", kind, var_base)))
+    let target_u = target.replace('-', "_");
+    env::var_os(format!("{var_base}_{target}"))
+        .or_else(|| env::var_os(format!("{}_{}", var_base, target_u)))
+        .or_else(|| env::var_os(format!("{}_{}", kind, var_base)))
         .or_else(|| env::var_os(var_base))
 }
 
@@ -862,7 +862,7 @@ impl Step for Lld {
         }
 
         let _guard = builder.msg_unstaged(Kind::Build, "LLD", target);
-        let _time = helpers::timeit(&builder);
+        let _time = helpers::timeit(builder);
         t!(fs::create_dir_all(&out_dir));
 
         let mut cfg = cmake::Config::new(builder.src.join("src/llvm-project/lld"));
@@ -986,7 +986,7 @@ impl Step for Sanitizers {
 
         let _guard = builder.msg_unstaged(Kind::Build, "sanitizers", self.target);
         t!(stamp.remove());
-        let _time = helpers::timeit(&builder);
+        let _time = helpers::timeit(builder);
 
         let mut cfg = cmake::Config::new(&compiler_rt_dir);
         cfg.profile("Release");
@@ -1051,7 +1051,7 @@ fn supported_sanitizers(
             .map(move |c| SanitizerRuntime {
                 cmake_target: format!("clang_rt.{}_{}_dynamic", c, os),
                 path: out_dir
-                    .join(&format!("build/lib/darwin/libclang_rt.{}_{}_dynamic.dylib", c, os)),
+                    .join(format!("build/lib/darwin/libclang_rt.{}_{}_dynamic.dylib", c, os)),
                 name: format!("librustc-{}_rt.{}.dylib", channel, c),
             })
             .collect()
@@ -1062,7 +1062,7 @@ fn supported_sanitizers(
             .iter()
             .map(move |c| SanitizerRuntime {
                 cmake_target: format!("clang_rt.{}-{}", c, arch),
-                path: out_dir.join(&format!("build/lib/{}/libclang_rt.{}-{}.a", os, c, arch)),
+                path: out_dir.join(format!("build/lib/{}/libclang_rt.{}-{}.a", os, c, arch)),
                 name: format!("librustc-{}_rt.{}.a", channel, c),
             })
             .collect()
@@ -1165,7 +1165,7 @@ impl Step for CrtBeginEnd {
 
     /// Build crtbegin.o/crtend.o for musl target.
     fn run(self, builder: &Builder<'_>) -> Self::Output {
-        builder.update_submodule(&Path::new("src/llvm-project"));
+        builder.update_submodule(Path::new("src/llvm-project"));
 
         let out_dir = builder.native_dir(self.target).join("crt");
 
@@ -1233,7 +1233,7 @@ impl Step for Libunwind {
 
     /// Build libunwind.a
     fn run(self, builder: &Builder<'_>) -> Self::Output {
-        builder.update_submodule(&Path::new("src/llvm-project"));
+        builder.update_submodule(Path::new("src/llvm-project"));
 
         if builder.config.dry_run() {
             return PathBuf::new();
diff --git a/src/bootstrap/src/core/build_steps/run.rs b/src/bootstrap/src/core/build_steps/run.rs
index 5fa5f2d4794..27b0c7760f0 100644
--- a/src/bootstrap/src/core/build_steps/run.rs
+++ b/src/bootstrap/src/core/build_steps/run.rs
@@ -23,7 +23,7 @@ impl Step for ExpandYamlAnchors {
     fn run(self, builder: &Builder<'_>) {
         builder.info("Expanding YAML anchors in the GitHub Actions configuration");
         builder.run_delaying_failure(
-            &mut builder.tool_cmd(Tool::ExpandYamlAnchors).arg("generate").arg(&builder.src),
+            builder.tool_cmd(Tool::ExpandYamlAnchors).arg("generate").arg(&builder.src),
         );
     }
 
diff --git a/src/bootstrap/src/core/build_steps/setup.rs b/src/bootstrap/src/core/build_steps/setup.rs
index 5b434eddb71..74a5578b43e 100644
--- a/src/bootstrap/src/core/build_steps/setup.rs
+++ b/src/bootstrap/src/core/build_steps/setup.rs
@@ -8,7 +8,7 @@ use std::env::consts::EXE_SUFFIX;
 use std::fmt::Write as _;
 use std::fs::File;
 use std::io::Write;
-use std::path::{Path, PathBuf, MAIN_SEPARATOR};
+use std::path::{Path, PathBuf, MAIN_SEPARATOR_STR};
 use std::process::Command;
 use std::str::FromStr;
 use std::{fmt, fs, io};
@@ -19,7 +19,6 @@ mod tests;
 #[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
 pub enum Profile {
     Compiler,
-    Codegen,
     Library,
     Tools,
     Dist,
@@ -48,7 +47,7 @@ impl Profile {
     pub fn all() -> impl Iterator<Item = Self> {
         use Profile::*;
         // N.B. these are ordered by how they are displayed, not alphabetically
-        [Library, Compiler, Codegen, Tools, Dist, None].iter().copied()
+        [Library, Compiler, Tools, Dist, None].iter().copied()
     }
 
     pub fn purpose(&self) -> String {
@@ -56,7 +55,6 @@ impl Profile {
         match self {
             Library => "Contribute to the standard library",
             Compiler => "Contribute to the compiler itself",
-            Codegen => "Contribute to the compiler, and also modify LLVM or codegen",
             Tools => "Contribute to tools which depend on the compiler, but do not modify it directly (e.g. rustdoc, clippy, miri)",
             Dist => "Install Rust from source",
             None => "Do not modify `config.toml`"
@@ -75,7 +73,6 @@ impl Profile {
     pub fn as_str(&self) -> &'static str {
         match self {
             Profile::Compiler => "compiler",
-            Profile::Codegen => "codegen",
             Profile::Library => "library",
             Profile::Tools => "tools",
             Profile::Dist => "dist",
@@ -91,12 +88,15 @@ impl FromStr for Profile {
         match s {
             "lib" | "library" => Ok(Profile::Library),
             "compiler" => Ok(Profile::Compiler),
-            "llvm" | "codegen" => Ok(Profile::Codegen),
             "maintainer" | "dist" | "user" => Ok(Profile::Dist),
             "tools" | "tool" | "rustdoc" | "clippy" | "miri" | "rustfmt" | "rls" => {
                 Ok(Profile::Tools)
             }
             "none" => Ok(Profile::None),
+            "llvm" | "codegen" => Err(format!(
+                "the \"llvm\" and \"codegen\" profiles have been removed,\
+                use \"compiler\" instead which has the same functionality"
+            )),
             _ => Err(format!("unknown profile: '{s}'")),
         }
     }
@@ -170,22 +170,13 @@ impl Step for Profile {
     }
 
     fn run(self, builder: &Builder<'_>) {
-        // During ./x.py setup once you select the codegen profile.
-        // The submodule will be downloaded. It does not work in the
-        // tarball case since they don't include Git and submodules
-        // are already included.
-        if !builder.rust_info().is_from_tarball() {
-            if self == Profile::Codegen {
-                builder.update_submodule(&Path::new("src/llvm-project"));
-            }
-        }
-        setup(&builder.build.config, self)
+        setup(&builder.build.config, self);
     }
 }
 
 pub fn setup(config: &Config, profile: Profile) {
     let suggestions: &[&str] = match profile {
-        Profile::Codegen | Profile::Compiler | Profile::None => &["check", "build", "test"],
+        Profile::Compiler | Profile::None => &["check", "build", "test"],
         Profile::Tools => &[
             "check",
             "build",
@@ -266,8 +257,7 @@ impl Step for Link {
             return;
         }
         let stage_path =
-            ["build", config.build.rustc_target_arg(), "stage1"].join(&MAIN_SEPARATOR.to_string());
-
+            ["build", config.build.rustc_target_arg(), "stage1"].join(MAIN_SEPARATOR_STR);
         if !rustup_installed() {
             eprintln!("`rustup` is not installed; cannot link `stage1` toolchain");
         } else if stage_dir_exists(&stage_path[..]) && !config.dry_run() {
@@ -285,7 +275,7 @@ fn rustup_installed() -> bool {
 }
 
 fn stage_dir_exists(stage_path: &str) -> bool {
-    match fs::create_dir(&stage_path) {
+    match fs::create_dir(stage_path) {
         Ok(_) => true,
         Err(_) => Path::new(&stage_path).exists(),
     }
@@ -303,7 +293,7 @@ fn attempt_toolchain_link(stage_path: &str) {
         return;
     }
 
-    if try_link_toolchain(&stage_path) {
+    if try_link_toolchain(stage_path) {
         println!(
             "Added `stage1` rustup toolchain; try `cargo +stage1 build` on a separate rust project to run a newly-built toolchain"
         );
@@ -319,7 +309,7 @@ fn attempt_toolchain_link(stage_path: &str) {
 
 fn toolchain_is_linked() -> bool {
     match Command::new("rustup")
-        .args(&["toolchain", "list"])
+        .args(["toolchain", "list"])
         .stdout(std::process::Stdio::piped())
         .output()
     {
@@ -346,7 +336,7 @@ fn toolchain_is_linked() -> bool {
 fn try_link_toolchain(stage_path: &str) -> bool {
     Command::new("rustup")
         .stdout(std::process::Stdio::null())
-        .args(&["toolchain", "link", "stage1", &stage_path])
+        .args(["toolchain", "link", "stage1", stage_path])
         .output()
         .map_or(false, |output| output.status.success())
 }
@@ -375,7 +365,7 @@ fn ensure_stage1_toolchain_placeholder_exists(stage_path: &str) -> bool {
         return false;
     }
 
-    return true;
+    true
 }
 
 // Used to get the path for `Subcommand::Setup`
@@ -478,13 +468,13 @@ impl Step for Hook {
         if config.dry_run() {
             return;
         }
-        t!(install_git_hook_maybe(&config));
+        t!(install_git_hook_maybe(config));
     }
 }
 
 // install a git hook to automatically run tidy, if they want
 fn install_git_hook_maybe(config: &Config) -> io::Result<()> {
-    let git = t!(config.git().args(&["rev-parse", "--git-common-dir"]).output().map(|output| {
+    let git = t!(config.git().args(["rev-parse", "--git-common-dir"]).output().map(|output| {
         assert!(output.status.success(), "failed to run `git`");
         PathBuf::from(t!(String::from_utf8(output.stdout)).trim())
     }));
@@ -550,7 +540,7 @@ impl Step for Vscode {
         if config.dry_run() {
             return;
         }
-        while !t!(create_vscode_settings_maybe(&config)) {}
+        while !t!(create_vscode_settings_maybe(config)) {}
     }
 }
 
@@ -617,7 +607,7 @@ fn create_vscode_settings_maybe(config: &Config) -> io::Result<bool> {
             }
             _ => "Created",
         };
-        fs::write(&vscode_settings, &RUST_ANALYZER_SETTINGS)?;
+        fs::write(&vscode_settings, RUST_ANALYZER_SETTINGS)?;
         println!("{verb} `.vscode/settings.json`");
     } else {
         println!("\n{RUST_ANALYZER_SETTINGS}");
diff --git a/src/bootstrap/src/core/build_steps/suggest.rs b/src/bootstrap/src/core/build_steps/suggest.rs
index 93da27560c6..c057fa9a566 100644
--- a/src/bootstrap/src/core/build_steps/suggest.rs
+++ b/src/bootstrap/src/core/build_steps/suggest.rs
@@ -36,7 +36,7 @@ pub fn suggest(builder: &Builder<'_>, run: bool) {
             // this code expects one suggestion per line in the following format:
             // <x_subcommand> {some number of flags} [optional stage number]
             let cmd = sections.next().unwrap();
-            let stage = sections.next_back().map(|s| str::parse(s).ok()).flatten();
+            let stage = sections.next_back().and_then(|s| str::parse(s).ok());
             let paths: Vec<PathBuf> = sections.map(|p| PathBuf::from_str(p).unwrap()).collect();
 
             (cmd, stage, paths)
diff --git a/src/bootstrap/src/core/build_steps/synthetic_targets.rs b/src/bootstrap/src/core/build_steps/synthetic_targets.rs
index 9acdcaeb517..a00835402ec 100644
--- a/src/bootstrap/src/core/build_steps/synthetic_targets.rs
+++ b/src/bootstrap/src/core/build_steps/synthetic_targets.rs
@@ -79,7 +79,7 @@ fn create_synthetic_target(
 
     customize(spec_map);
 
-    std::fs::write(&path, &serde_json::to_vec_pretty(&spec).unwrap()).unwrap();
+    std::fs::write(&path, serde_json::to_vec_pretty(&spec).unwrap()).unwrap();
     let target = TargetSelection::create_synthetic(&name, path.to_str().unwrap());
     crate::utils::cc_detect::find_target(builder, target);
 
diff --git a/src/bootstrap/src/core/build_steps/test.rs b/src/bootstrap/src/core/build_steps/test.rs
index 0c7e751c8da..791f847a866 100644
--- a/src/bootstrap/src/core/build_steps/test.rs
+++ b/src/bootstrap/src/core/build_steps/test.rs
@@ -156,7 +156,7 @@ You can skip linkcheck with --skip src/tools/linkchecker"
         // Run the linkchecker.
         let _guard =
             builder.msg(Kind::Test, compiler.stage, "Linkcheck", bootstrap_host, bootstrap_host);
-        let _time = helpers::timeit(&builder);
+        let _time = helpers::timeit(builder);
         builder.run_delaying_failure(linkchecker.arg(builder.out.join(host.triple).join("doc")));
     }
 
@@ -253,15 +253,15 @@ impl Step for Cargotest {
         let out_dir = builder.out.join("ct");
         t!(fs::create_dir_all(&out_dir));
 
-        let _time = helpers::timeit(&builder);
+        let _time = helpers::timeit(builder);
         let mut cmd = builder.tool_cmd(Tool::CargoTest);
-        let mut cmd = cmd
+        let cmd = cmd
             .arg(&cargo)
             .arg(&out_dir)
             .args(builder.config.test_args())
             .env("RUSTC", builder.rustc(compiler))
             .env("RUSTDOC", builder.rustdoc(compiler));
-        add_rustdoc_cargo_linker_args(&mut cmd, builder, compiler.host, LldThreads::No);
+        add_rustdoc_cargo_linker_args(cmd, builder, compiler.host, LldThreads::No);
         builder.run_delaying_failure(cmd);
     }
 }
@@ -322,7 +322,7 @@ impl Step for Cargo {
             builder,
         );
 
-        let _time = helpers::timeit(&builder);
+        let _time = helpers::timeit(builder);
         add_flags_and_try_run_tests(builder, &mut cargo);
     }
 }
@@ -474,7 +474,7 @@ impl Step for RustDemangler {
         );
 
         let dir = testdir(builder, compiler.host);
-        t!(fs::create_dir_all(&dir));
+        t!(fs::create_dir_all(dir));
 
         cargo.env("RUST_DEMANGLER_DRIVER_PATH", rust_demangler);
         cargo.add_rustc_lib_path(builder);
@@ -525,7 +525,7 @@ impl Miri {
         // Tell `cargo miri setup` where to find the sources.
         cargo.env("MIRI_LIB_SRC", builder.src.join("library"));
         // Tell it where to find Miri.
-        cargo.env("MIRI", &miri);
+        cargo.env("MIRI", miri);
         // Tell it where to put the sysroot.
         cargo.env("MIRI_SYSROOT", &miri_sysroot);
         // Debug things.
@@ -637,7 +637,7 @@ impl Step for Miri {
         // does not understand the flags added by `add_flags_and_try_run_test`.
         let mut cargo = prepare_cargo_test(cargo, &[], &[], "miri", compiler, target, builder);
         {
-            let _time = helpers::timeit(&builder);
+            let _time = helpers::timeit(builder);
             builder.run(&mut cargo);
         }
 
@@ -649,11 +649,11 @@ impl Step for Miri {
             // `MIRI_SKIP_UI_CHECKS` and `RUSTC_BLESS` are incompatible
             cargo.env_remove("RUSTC_BLESS");
             // Optimizations can change error locations and remove UB so don't run `fail` tests.
-            cargo.args(&["tests/pass", "tests/panic"]);
+            cargo.args(["tests/pass", "tests/panic"]);
 
             let mut cargo = prepare_cargo_test(cargo, &[], &[], "miri", compiler, target, builder);
             {
-                let _time = helpers::timeit(&builder);
+                let _time = helpers::timeit(builder);
                 builder.run(&mut cargo);
             }
         }
@@ -693,7 +693,7 @@ impl Step for Miri {
 
         let mut cargo = Command::from(cargo);
         {
-            let _time = helpers::timeit(&builder);
+            let _time = helpers::timeit(builder);
             builder.run(&mut cargo);
         }
     }
@@ -946,7 +946,7 @@ impl Step for RustdocJSNotStd {
 }
 
 fn get_browser_ui_test_version_inner(npm: &Path, global: bool) -> Option<String> {
-    let mut command = Command::new(&npm);
+    let mut command = Command::new(npm);
     command.arg("list").arg("--parseable").arg("--long").arg("--depth=0");
     if global {
         command.arg("--global");
@@ -954,7 +954,7 @@ fn get_browser_ui_test_version_inner(npm: &Path, global: bool) -> Option<String>
     let lines = command
         .output()
         .map(|output| String::from_utf8_lossy(&output.stdout).into_owned())
-        .unwrap_or(String::new());
+        .unwrap_or_default();
     lines
         .lines()
         .find_map(|l| l.split(':').nth(1)?.strip_prefix("browser-ui-test@"))
@@ -1048,7 +1048,7 @@ impl Step for RustdocGUI {
             cmd.arg("--npm").arg(npm);
         }
 
-        let _time = helpers::timeit(&builder);
+        let _time = helpers::timeit(builder);
         let _guard = builder.msg_sysroot_tool(
             Kind::Test,
             self.compiler.stage,
@@ -1096,7 +1096,7 @@ impl Step for Tidy {
             cmd.arg(format!("--extra-checks={s}"));
         }
         let mut args = std::env::args_os();
-        if let Some(_) = args.find(|arg| arg == OsStr::new("--")) {
+        if args.any(|arg| arg == OsStr::new("--")) {
             cmd.arg("--");
             cmd.args(args);
         }
@@ -1116,7 +1116,7 @@ HELP: to skip test's attempt to check tidiness, pass `--skip src/tools/tidy` to
                 );
                 crate::exit!(1);
             }
-            crate::core::build_steps::format::format(&builder, !builder.config.cmd.bless(), &[]);
+            crate::core::build_steps::format::format(builder, !builder.config.cmd.bless(), &[]);
         }
 
         builder.info("tidy check");
@@ -1171,7 +1171,7 @@ impl Step for ExpandYamlAnchors {
         }
         builder.info("Ensuring the YAML anchors in the GitHub Actions config were expanded");
         builder.run_delaying_failure(
-            &mut builder.tool_cmd(Tool::ExpandYamlAnchors).arg("check").arg(&builder.src),
+            builder.tool_cmd(Tool::ExpandYamlAnchors).arg("check").arg(&builder.src),
         );
     }
 
@@ -1759,7 +1759,7 @@ NOTE: if you're sure you want to do this, please open an issue as to why. In the
 
         for exclude in &builder.config.skip {
             cmd.arg("--skip");
-            cmd.arg(&exclude);
+            cmd.arg(exclude);
         }
 
         // Get paths from cmd args
@@ -1780,7 +1780,7 @@ NOTE: if you're sure you want to do this, please open an issue as to why. In the
         // so the correct filters are passed to libtest
         if cfg!(windows) {
             let test_args_win: Vec<String> =
-                test_args.iter().map(|s| s.replace("/", "\\")).collect();
+                test_args.iter().map(|s| s.replace('/', "\\")).collect();
             cmd.args(&test_args_win);
         } else {
             cmd.args(&test_args);
@@ -1900,7 +1900,7 @@ NOTE: if you're sure you want to do this, please open an issue as to why. In the
             // Note that if we encounter `PATH` we make sure to append to our own `PATH`
             // rather than stomp over it.
             if !builder.config.dry_run() && target.is_msvc() {
-                for &(ref k, ref v) in builder.cc.borrow()[&target].env() {
+                for (k, v) in builder.cc.borrow()[&target].env() {
                     if k != "PATH" {
                         cmd.env(k, v);
                     }
@@ -1996,7 +1996,7 @@ NOTE: if you're sure you want to do this, please open an issue as to why. In the
         let _group = builder.msg(
             Kind::Test,
             compiler.stage,
-            &format!("compiletest suite={suite} mode={mode}"),
+            format!("compiletest suite={suite} mode={mode}"),
             compiler.host,
             target,
         );
@@ -2022,7 +2022,7 @@ NOTE: if you're sure you want to do this, please open an issue as to why. In the
                 "Check compiletest suite={} mode={} compare_mode={} ({} -> {})",
                 suite, mode, compare_mode, &compiler.host, target
             ));
-            let _time = helpers::timeit(&builder);
+            let _time = helpers::timeit(builder);
             try_run_tests(builder, &mut cmd, false);
         }
     }
@@ -2094,7 +2094,7 @@ impl BookTest {
             compiler.host,
             compiler.host,
         );
-        let _time = helpers::timeit(&builder);
+        let _time = helpers::timeit(builder);
         let toolstate = if builder.run_delaying_failure(&mut rustbook_cmd) {
             ToolState::TestPass
         } else {
@@ -2111,12 +2111,12 @@ impl BookTest {
         builder.ensure(compile::Std::new(compiler, host));
 
         let _guard =
-            builder.msg(Kind::Test, compiler.stage, &format!("book {}", self.name), host, host);
+            builder.msg(Kind::Test, compiler.stage, format!("book {}", self.name), host, host);
 
         // Do a breadth-first traversal of the `src/doc` directory and just run
         // tests for all files that end in `*.md`
         let mut stack = vec![builder.src.join(self.path)];
-        let _time = helpers::timeit(&builder);
+        let _time = helpers::timeit(builder);
         let mut files = Vec::new();
         while let Some(p) = stack.pop() {
             if p.is_dir() {
@@ -2227,7 +2227,7 @@ impl Step for ErrorIndex {
 
         let guard =
             builder.msg(Kind::Test, compiler.stage, "error-index", compiler.host, compiler.host);
-        let _time = helpers::timeit(&builder);
+        let _time = helpers::timeit(builder);
         builder.run_quiet(&mut tool);
         drop(guard);
         // The tests themselves need to link to std, so make sure it is
@@ -2315,11 +2315,8 @@ impl Step for CrateLibrustc {
         let builder = run.builder;
         let host = run.build_triple();
         let compiler = builder.compiler_for(builder.top_stage, host, host);
-        let crates = run
-            .paths
-            .iter()
-            .map(|p| builder.crate_paths[&p.assert_single_path().path].clone())
-            .collect();
+        let crates =
+            run.paths.iter().map(|p| builder.crate_paths[&p.assert_single_path().path]).collect();
 
         builder.ensure(CrateLibrustc { compiler, target: run.target, crates });
     }
@@ -2351,7 +2348,7 @@ fn run_cargo_test<'a>(
 ) -> bool {
     let mut cargo =
         prepare_cargo_test(cargo, libtest_args, crates, primary_crate, compiler, target, builder);
-    let _time = helpers::timeit(&builder);
+    let _time = helpers::timeit(builder);
     let _group = description.into().and_then(|what| {
         builder.msg_sysroot_tool(Kind::Test, compiler.stage, what, compiler.host, target)
     });
@@ -2406,7 +2403,7 @@ fn prepare_cargo_test(
             if krate.has_lib {
                 cargo.arg("--lib");
             }
-            cargo.args(&["--bins", "--examples", "--tests", "--benches"]);
+            cargo.args(["--bins", "--examples", "--tests", "--benches"]);
         }
         DocTests::Yes => {}
     }
@@ -2468,11 +2465,8 @@ impl Step for Crate {
         let builder = run.builder;
         let host = run.build_triple();
         let compiler = builder.compiler_for(builder.top_stage, host, host);
-        let crates = run
-            .paths
-            .iter()
-            .map(|p| builder.crate_paths[&p.assert_single_path().path].clone())
-            .collect();
+        let crates =
+            run.paths.iter().map(|p| builder.crate_paths[&p.assert_single_path().path]).collect();
 
         builder.ensure(Crate { compiler, target: run.target, mode: Mode::Std, crates });
     }
@@ -2844,11 +2838,11 @@ impl Step for Bootstrap {
         let compiler = builder.compiler(0, host);
         let _guard = builder.msg(Kind::Test, 0, "bootstrap", host, host);
 
-        let mut check_bootstrap = Command::new(&builder.python());
+        let mut check_bootstrap = Command::new(builder.python());
         check_bootstrap
             .args(["-m", "unittest", "bootstrap_test.py"])
             .env("BUILD_DIR", &builder.out)
-            .env("BUILD_PLATFORM", &builder.build.build.triple)
+            .env("BUILD_PLATFORM", builder.build.build.triple)
             .current_dir(builder.src.join("src/bootstrap/"));
         // NOTE: we intentionally don't pass test_args here because the args for unittest and cargo test are mutually incompatible.
         // Use `python -m unittest` manually if you want to pass arguments.
@@ -3171,7 +3165,7 @@ impl Step for CodegenCranelift {
             &compiler.host,
             target
         ));
-        let _time = helpers::timeit(&builder);
+        let _time = helpers::timeit(builder);
 
         // FIXME handle vendoring for source tarballs before removing the --skip-test below
         let download_dir = builder.out.join("cg_clif_download");
@@ -3300,7 +3294,7 @@ impl Step for CodegenGCC {
             &compiler.host,
             target
         ));
-        let _time = helpers::timeit(&builder);
+        let _time = helpers::timeit(builder);
 
         // FIXME: Uncomment the `prepare` command below once vendoring is implemented.
         /*
diff --git a/src/bootstrap/src/core/build_steps/tool.rs b/src/bootstrap/src/core/build_steps/tool.rs
index a3daf22c9a9..ba867a04ec5 100644
--- a/src/bootstrap/src/core/build_steps/tool.rs
+++ b/src/bootstrap/src/core/build_steps/tool.rs
@@ -819,7 +819,7 @@ impl<'a> Builder<'a> {
         if compiler.host.is_msvc() {
             let curpaths = env::var_os("PATH").unwrap_or_default();
             let curpaths = env::split_paths(&curpaths).collect::<Vec<_>>();
-            for &(ref k, ref v) in self.cc.borrow()[&compiler.host].env() {
+            for (k, v) in self.cc.borrow()[&compiler.host].env() {
                 if k != "PATH" {
                     continue;
                 }
diff --git a/src/bootstrap/src/core/build_steps/toolstate.rs b/src/bootstrap/src/core/build_steps/toolstate.rs
index a451f92b6bc..deb782cad0c 100644
--- a/src/bootstrap/src/core/build_steps/toolstate.rs
+++ b/src/bootstrap/src/core/build_steps/toolstate.rs
@@ -346,7 +346,7 @@ fn prepare_toolstate_config(token: &str) {
 
     let credential = format!("https://{token}:x-oauth-basic@github.com\n",);
     let git_credential_path = PathBuf::from(t!(env::var("HOME"))).join(".git-credentials");
-    t!(fs::write(&git_credential_path, credential));
+    t!(fs::write(git_credential_path, credential));
 }
 
 /// Reads the latest toolstate from the toolstate repo.
@@ -389,7 +389,7 @@ fn commit_toolstate_change(current_toolstate: &ToolstateData) {
         // Upload the test results (the new commit-to-toolstate mapping) to the toolstate repo.
         // This does *not* change the "current toolstate"; that only happens post-landing
         // via `src/ci/docker/publish_toolstate.sh`.
-        publish_test_results(&current_toolstate);
+        publish_test_results(current_toolstate);
 
         // `git commit` failing means nothing to commit.
         let status = t!(Command::new("git")
diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs
index 2c4013d78bf..97819403ab7 100644
--- a/src/bootstrap/src/core/builder.rs
+++ b/src/bootstrap/src/core/builder.rs
@@ -290,7 +290,7 @@ impl PathSet {
 
 const PATH_REMAP: &[(&str, &str)] = &[("rust-analyzer-proc-macro-srv", "proc-macro-srv-cli")];
 
-fn remap_paths(paths: &mut Vec<&Path>) {
+fn remap_paths(paths: &mut [&Path]) {
     for path in paths.iter_mut() {
         for &(search, replace) in PATH_REMAP {
             if path.to_str() == Some(search) {
@@ -329,7 +329,7 @@ impl StepDescription {
     }
 
     fn is_excluded(&self, builder: &Builder<'_>, pathset: &PathSet) -> bool {
-        if builder.config.skip.iter().any(|e| pathset.has(&e, builder.kind)) {
+        if builder.config.skip.iter().any(|e| pathset.has(e, builder.kind)) {
             if !matches!(builder.config.dry_run, DryRun::SelfCheck) {
                 println!("Skipping {pathset:?} because it is excluded");
             }
@@ -369,8 +369,7 @@ impl StepDescription {
         }
 
         // strip CurDir prefix if present
-        let mut paths: Vec<_> =
-            paths.into_iter().map(|p| p.strip_prefix(".").unwrap_or(p)).collect();
+        let mut paths: Vec<_> = paths.iter().map(|p| p.strip_prefix(".").unwrap_or(p)).collect();
 
         remap_paths(&mut paths);
 
@@ -378,7 +377,7 @@ impl StepDescription {
         // (This is separate from the loop below to avoid having to handle multiple paths in `is_suite_path` somehow.)
         paths.retain(|path| {
             for (desc, should_run) in v.iter().zip(&should_runs) {
-                if let Some(suite) = should_run.is_suite_path(&path) {
+                if let Some(suite) = should_run.is_suite_path(path) {
                     desc.maybe_run(builder, vec![suite.clone()]);
                     return false;
                 }
@@ -537,7 +536,7 @@ impl<'a> ShouldRun<'a> {
                 .iter()
                 .map(|p| {
                     // assert only if `p` isn't submodule
-                    if submodules_paths.iter().find(|sm_p| p.contains(*sm_p)).is_none() {
+                    if !submodules_paths.iter().any(|sm_p| p.contains(sm_p)) {
                         assert!(
                             self.builder.src.join(p).exists(),
                             "`should_run.paths` should correspond to real on-disk paths - use `alias` if there is no relevant path: {}",
@@ -858,6 +857,11 @@ impl<'a> Builder<'a> {
             Kind::Install => describe!(
                 install::Docs,
                 install::Std,
+                // During the Rust compiler (rustc) installation process, we copy the entire sysroot binary
+                // path (build/host/stage2/bin). Since the building tools also make their copy in the sysroot
+                // binary path, we must install rustc before the tools. Otherwise, the rust-installer will
+                // install the same binaries twice for each tool, leaving backup files (*.old) as a result.
+                install::Rustc,
                 install::Cargo,
                 install::RustAnalyzer,
                 install::Rustfmt,
@@ -866,7 +870,6 @@ impl<'a> Builder<'a> {
                 install::Miri,
                 install::LlvmTools,
                 install::Src,
-                install::Rustc,
             ),
             Kind::Run => describe!(
                 run::ExpandYamlAnchors,
@@ -1204,7 +1207,7 @@ impl<'a> Builder<'a> {
     }
 
     pub fn rustdoc_cmd(&self, compiler: Compiler) -> Command {
-        let mut cmd = Command::new(&self.bootstrap_out.join("rustdoc"));
+        let mut cmd = Command::new(self.bootstrap_out.join("rustdoc"));
         cmd.env("RUSTC_STAGE", compiler.stage.to_string())
             .env("RUSTC_SYSROOT", self.sysroot(compiler))
             // Note that this is *not* the sysroot_libdir because rustdoc must be linked
@@ -1347,7 +1350,7 @@ impl<'a> Builder<'a> {
 
         // See comment in rustc_llvm/build.rs for why this is necessary, largely llvm-config
         // needs to not accidentally link to libLLVM in stage0/lib.
-        cargo.env("REAL_LIBRARY_PATH_VAR", &helpers::dylib_path_var());
+        cargo.env("REAL_LIBRARY_PATH_VAR", helpers::dylib_path_var());
         if let Some(e) = env::var_os(helpers::dylib_path_var()) {
             cargo.env("REAL_LIBRARY_PATH", e);
         }
@@ -1616,8 +1619,8 @@ impl<'a> Builder<'a> {
             .env("RUSTBUILD_NATIVE_DIR", self.native_dir(target))
             .env("RUSTC_REAL", self.rustc(compiler))
             .env("RUSTC_STAGE", stage.to_string())
-            .env("RUSTC_SYSROOT", &sysroot)
-            .env("RUSTC_LIBDIR", &libdir)
+            .env("RUSTC_SYSROOT", sysroot)
+            .env("RUSTC_LIBDIR", libdir)
             .env("RUSTDOC", self.bootstrap_out.join("rustdoc"))
             .env(
                 "RUSTDOC_REAL",
@@ -1750,7 +1753,7 @@ impl<'a> Builder<'a> {
         cargo.env("RUSTC_BOOTSTRAP", "1");
 
         if self.config.dump_bootstrap_shims {
-            prepare_behaviour_dump_dir(&self.build);
+            prepare_behaviour_dump_dir(self.build);
 
             cargo
                 .env("DUMP_BOOTSTRAP_SHIMS", self.build.out.join("bootstrap-shims-dump"))
@@ -1789,7 +1792,7 @@ impl<'a> Builder<'a> {
         // platform-specific environment variable as a workaround.
         if mode == Mode::ToolRustc || mode == Mode::Codegen {
             if let Some(llvm_config) = self.llvm_config(target) {
-                let llvm_libdir = output(Command::new(&llvm_config).arg("--libdir"));
+                let llvm_libdir = output(Command::new(llvm_config).arg("--libdir"));
                 add_link_lib_path(vec![llvm_libdir.trim().into()], &mut cargo);
             }
         }
@@ -1870,6 +1873,10 @@ impl<'a> Builder<'a> {
             rustflags.arg("-Wrustc::internal");
         }
 
+        if self.config.rust_frame_pointers {
+            rustflags.arg("-Cforce-frame-pointers=true");
+        }
+
         // If Control Flow Guard is enabled, pass the `control-flow-guard` flag to rustc
         // when compiling the standard library, since this might be linked into the final outputs
         // produced by rustc. Since this mitigation is only available on Windows, only enable it
@@ -2072,7 +2079,7 @@ impl<'a> Builder<'a> {
 
         if self.config.print_step_timings && !self.config.dry_run() {
             let step_string = format!("{step:?}");
-            let brace_index = step_string.find("{").unwrap_or(0);
+            let brace_index = step_string.find('{').unwrap_or(0);
             let type_string = type_name::<S>();
             println!(
                 "[TIMING] {} {} -- {}.{:03}",
@@ -2421,7 +2428,7 @@ impl Cargo {
                     _ => s.display().to_string(),
                 }
             };
-            let triple_underscored = target.triple.replace("-", "_");
+            let triple_underscored = target.triple.replace('-', "_");
             let cc = ccacheify(&builder.cc(target));
             self.command.env(format!("CC_{triple_underscored}"), &cc);
 
diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs
index 05b9c734018..927d46c67a9 100644
--- a/src/bootstrap/src/core/config/config.rs
+++ b/src/bootstrap/src/core/config/config.rs
@@ -256,6 +256,7 @@ pub struct Config {
     pub rust_split_debuginfo: SplitDebuginfo,
     pub rust_rpath: bool,
     pub rust_strip: bool,
+    pub rust_frame_pointers: bool,
     pub rust_stack_protector: Option<String>,
     pub rustc_parallel: bool,
     pub rustc_default_linker: Option<String>,
@@ -467,7 +468,7 @@ pub struct TargetSelectionList(Vec<TargetSelection>);
 
 pub fn target_selection_list(s: &str) -> Result<TargetSelectionList, String> {
     Ok(TargetSelectionList(
-        s.split(",").filter(|s| !s.is_empty()).map(TargetSelection::from_user).collect(),
+        s.split(',').filter(|s| !s.is_empty()).map(TargetSelection::from_user).collect(),
     ))
 }
 
@@ -962,10 +963,10 @@ impl<'de> serde::de::Visitor<'de> for OptimizeVisitor {
     where
         E: serde::de::Error,
     {
-        if ["s", "z"].iter().find(|x| **x == value).is_some() {
+        if matches!(value, "s" | "z") {
             Ok(RustOptimize::String(value.to_string()))
         } else {
-            Err(format_optimize_error_msg(value)).map_err(serde::de::Error::custom)
+            Err(serde::de::Error::custom(format_optimize_error_msg(value)))
         }
     }
 
@@ -976,7 +977,7 @@ impl<'de> serde::de::Visitor<'de> for OptimizeVisitor {
         if matches!(value, 0..=3) {
             Ok(RustOptimize::Int(value as u8))
         } else {
-            Err(format_optimize_error_msg(value)).map_err(serde::de::Error::custom)
+            Err(serde::de::Error::custom(format_optimize_error_msg(value)))
         }
     }
 
@@ -1083,6 +1084,7 @@ define_config! {
         musl_root: Option<String> = "musl-root",
         rpath: Option<bool> = "rpath",
         strip: Option<bool> = "strip",
+        frame_pointers: Option<bool> = "frame-pointers",
         stack_protector: Option<String> = "stack-protector",
         verbose_tests: Option<bool> = "verbose-tests",
         optimize_tests: Option<bool> = "optimize-tests",
@@ -1142,41 +1144,44 @@ define_config! {
 
 impl Config {
     pub fn default_opts() -> Config {
-        let mut config = Config::default();
-        config.bypass_bootstrap_lock = false;
-        config.llvm_optimize = true;
-        config.ninja_in_file = true;
-        config.llvm_static_stdcpp = false;
-        config.backtrace = true;
-        config.rust_optimize = RustOptimize::Bool(true);
-        config.rust_optimize_tests = true;
-        config.submodules = None;
-        config.docs = true;
-        config.docs_minification = true;
-        config.rust_rpath = true;
-        config.rust_strip = false;
-        config.channel = "dev".to_string();
-        config.codegen_tests = true;
-        config.rust_dist_src = true;
-        config.rust_codegen_backends = vec![INTERNER.intern_str("llvm")];
-        config.deny_warnings = true;
-        config.bindir = "bin".into();
-        config.dist_include_mingw_linker = true;
-        config.dist_compression_profile = "fast".into();
-        config.rustc_parallel = true;
-
-        config.stdout_is_tty = std::io::stdout().is_terminal();
-        config.stderr_is_tty = std::io::stderr().is_terminal();
-
-        // set by build.rs
-        config.build = TargetSelection::from_user(&env!("BUILD_TRIPLE"));
-
-        let manifest_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
-        // Undo `src/bootstrap`
-        config.src = manifest_dir.parent().unwrap().parent().unwrap().to_owned();
-        config.out = PathBuf::from("build");
-
-        config
+        Config {
+            bypass_bootstrap_lock: false,
+            llvm_optimize: true,
+            ninja_in_file: true,
+            llvm_static_stdcpp: false,
+            backtrace: true,
+            rust_optimize: RustOptimize::Bool(true),
+            rust_optimize_tests: true,
+            submodules: None,
+            docs: true,
+            docs_minification: true,
+            rust_rpath: true,
+            rust_strip: false,
+            channel: "dev".to_string(),
+            codegen_tests: true,
+            rust_dist_src: true,
+            rust_codegen_backends: vec![INTERNER.intern_str("llvm")],
+            deny_warnings: true,
+            bindir: "bin".into(),
+            dist_include_mingw_linker: true,
+            dist_compression_profile: "fast".into(),
+            rustc_parallel: true,
+
+            stdout_is_tty: std::io::stdout().is_terminal(),
+            stderr_is_tty: std::io::stderr().is_terminal(),
+
+            // set by build.rs
+            build: TargetSelection::from_user(env!("BUILD_TRIPLE")),
+
+            src: {
+                let manifest_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
+                // Undo `src/bootstrap`
+                manifest_dir.parent().unwrap().parent().unwrap().to_owned()
+            },
+            out: PathBuf::from("build"),
+
+            ..Default::default()
+        }
     }
 
     pub fn parse(args: &[String]) -> Config {
@@ -1202,7 +1207,7 @@ impl Config {
     }
 
     pub(crate) fn parse_inner(args: &[String], get_toml: impl Fn(&Path) -> TomlConfig) -> Config {
-        let mut flags = Flags::parse(&args);
+        let mut flags = Flags::parse(args);
         let mut config = Config::default_opts();
 
         // Set flags.
@@ -1250,7 +1255,7 @@ impl Config {
             // Bootstrap is quite bad at handling /? in front of paths
             let src = match s.strip_prefix("\\\\?\\") {
                 Some(p) => PathBuf::from(p),
-                None => PathBuf::from(git_root),
+                None => git_root,
             };
             // If this doesn't have at least `stage0.json`, we guessed wrong. This can happen when,
             // for example, the build directory is inside of another unrelated git directory.
@@ -1276,7 +1281,7 @@ impl Config {
             .to_path_buf();
         }
 
-        let stage0_json = t!(std::fs::read(&config.src.join("src").join("stage0.json")));
+        let stage0_json = t!(std::fs::read(config.src.join("src").join("stage0.json")));
 
         config.stage0_metadata = t!(serde_json::from_slice::<Stage0Metadata>(&stage0_json));
 
@@ -1322,8 +1327,7 @@ impl Config {
         let mut override_toml = TomlConfig::default();
         for option in flags.set.iter() {
             fn get_table(option: &str) -> Result<TomlConfig, toml::de::Error> {
-                toml::from_str(&option)
-                    .and_then(|table: toml::Value| TomlConfig::deserialize(table))
+                toml::from_str(option).and_then(|table: toml::Value| TomlConfig::deserialize(table))
             }
 
             let mut err = match get_table(option) {
@@ -1335,7 +1339,7 @@ impl Config {
             };
             // We want to be able to set string values without quotes,
             // like in `configure.py`. Try adding quotes around the right hand side
-            if let Some((key, value)) = option.split_once("=") {
+            if let Some((key, value)) = option.split_once('=') {
                 if !value.contains('"') {
                     match get_table(&format!(r#"{key}="{value}""#)) {
                         Ok(v) => {
@@ -1561,6 +1565,7 @@ impl Config {
                 download_rustc,
                 lto,
                 validate_mir_opts,
+                frame_pointers,
                 stack_protector,
                 strip,
                 lld_mode,
@@ -1609,6 +1614,7 @@ impl Config {
             set(&mut config.codegen_tests, codegen_tests);
             set(&mut config.rust_rpath, rpath);
             set(&mut config.rust_strip, strip);
+            set(&mut config.rust_frame_pointers, frame_pointers);
             config.rust_stack_protector = stack_protector;
             set(&mut config.jemalloc, jemalloc);
             set(&mut config.test_compare_mode, test_compare_mode);
@@ -1656,7 +1662,7 @@ impl Config {
                 llvm_libunwind.map(|v| v.parse().expect("failed to parse rust.llvm-libunwind"));
 
             if let Some(ref backends) = codegen_backends {
-                let available_backends = vec!["llvm", "cranelift", "gcc"];
+                let available_backends = ["llvm", "cranelift", "gcc"];
 
                 config.rust_codegen_backends = backends.iter().map(|s| {
                     if let Some(backend) = s.strip_prefix(CODEGEN_BACKEND_PREFIX) {
@@ -1804,7 +1810,7 @@ impl Config {
                 let mut target = Target::from_triple(&triple);
 
                 if let Some(ref s) = cfg.llvm_config {
-                    if config.download_rustc_commit.is_some() && triple == &*config.build.triple {
+                    if config.download_rustc_commit.is_some() && triple == *config.build.triple {
                         panic!(
                             "setting llvm_config for the host is incompatible with download-rustc"
                         );
@@ -1843,7 +1849,7 @@ impl Config {
                 target.rpath = cfg.rpath;
 
                 if let Some(ref backends) = cfg.codegen_backends {
-                    let available_backends = vec!["llvm", "cranelift", "gcc"];
+                    let available_backends = ["llvm", "cranelift", "gcc"];
 
                     target.codegen_backends = Some(backends.iter().map(|s| {
                         if let Some(backend) = s.strip_prefix(CODEGEN_BACKEND_PREFIX) {
@@ -1870,7 +1876,7 @@ impl Config {
             let build_target = config
                 .target_config
                 .entry(config.build)
-                .or_insert_with(|| Target::from_triple(&triple));
+                .or_insert_with(|| Target::from_triple(triple));
 
             check_ci_llvm!(build_target.llvm_config);
             check_ci_llvm!(build_target.llvm_filecheck);
@@ -2204,7 +2210,7 @@ impl Config {
     }
 
     pub fn sanitizers_enabled(&self, target: TargetSelection) -> bool {
-        self.target_config.get(&target).map(|t| t.sanitizers).flatten().unwrap_or(self.sanitizers)
+        self.target_config.get(&target).and_then(|t| t.sanitizers).unwrap_or(self.sanitizers)
     }
 
     pub fn needs_sanitizer_runtime_built(&self, target: TargetSelection) -> bool {
@@ -2239,7 +2245,7 @@ impl Config {
     }
 
     pub fn rpath_enabled(&self, target: TargetSelection) -> bool {
-        self.target_config.get(&target).map(|t| t.rpath).flatten().unwrap_or(self.rust_rpath)
+        self.target_config.get(&target).and_then(|t| t.rpath).unwrap_or(self.rust_rpath)
     }
 
     pub fn llvm_enabled(&self, target: TargetSelection) -> bool {
@@ -2270,7 +2276,7 @@ impl Config {
     }
 
     pub fn default_codegen_backend(&self, target: TargetSelection) -> Option<Interned<String>> {
-        self.codegen_backends(target).get(0).cloned()
+        self.codegen_backends(target).first().cloned()
     }
 
     pub fn git_config(&self) -> GitConfig<'_> {
@@ -2299,9 +2305,9 @@ impl Config {
             .next()
             .unwrap()
             .to_owned();
-        let rustc_version = Version::parse(&rustc_output.trim()).unwrap();
+        let rustc_version = Version::parse(rustc_output.trim()).unwrap();
         let source_version =
-            Version::parse(&fs::read_to_string(self.src.join("src/version")).unwrap().trim())
+            Version::parse(fs::read_to_string(self.src.join("src/version")).unwrap().trim())
                 .unwrap();
         if !(source_version == rustc_version
             || (source_version.major == rustc_version.major
@@ -2329,7 +2335,7 @@ impl Config {
         };
 
         // Handle running from a directory other than the top level
-        let top_level = output(self.git().args(&["rev-parse", "--show-toplevel"]));
+        let top_level = output(self.git().args(["rev-parse", "--show-toplevel"]));
         let top_level = top_level.trim_end();
         let compiler = format!("{top_level}/compiler/");
         let library = format!("{top_level}/library/");
@@ -2340,7 +2346,7 @@ impl Config {
             self.git()
                 .arg("rev-list")
                 .arg(format!("--author={}", self.stage0_metadata.config.git_merge_commit_email))
-                .args(&["-n1", "--first-parent", "HEAD"]),
+                .args(["-n1", "--first-parent", "HEAD"]),
         );
         let commit = merge_base.trim_end();
         if commit.is_empty() {
@@ -2354,7 +2360,7 @@ impl Config {
         // Warn if there were changes to the compiler or standard library since the ancestor commit.
         let has_changes = !t!(self
             .git()
-            .args(&["diff-index", "--quiet", &commit, "--", &compiler, &library])
+            .args(["diff-index", "--quiet", commit, "--", &compiler, &library])
             .status())
         .success();
         if has_changes {
@@ -2393,7 +2399,7 @@ impl Config {
                 // there are some untracked changes in the the given paths.
                 false
             } else {
-                llvm::is_ci_llvm_available(&self, asserts)
+                llvm::is_ci_llvm_available(self, asserts)
             }
         };
         match download_ci_llvm {
@@ -2402,7 +2408,7 @@ impl Config {
             // FIXME: "if-available" is deprecated. Remove this block later (around mid 2024)
             // to not break builds between the recent-to-old checkouts.
             Some(StringOrBool::String(s)) if s == "if-available" => {
-                llvm::is_ci_llvm_available(&self, asserts)
+                llvm::is_ci_llvm_available(self, asserts)
             }
             Some(StringOrBool::String(s)) if s == "if-unchanged" => if_unchanged(),
             Some(StringOrBool::String(other)) => {
@@ -2420,7 +2426,7 @@ impl Config {
         if_unchanged: bool,
     ) -> Option<String> {
         // Handle running from a directory other than the top level
-        let top_level = output(self.git().args(&["rev-parse", "--show-toplevel"]));
+        let top_level = output(self.git().args(["rev-parse", "--show-toplevel"]));
         let top_level = top_level.trim_end();
 
         // Look for a version to compare to based on the current commit.
@@ -2429,7 +2435,7 @@ impl Config {
             self.git()
                 .arg("rev-list")
                 .arg(format!("--author={}", self.stage0_metadata.config.git_merge_commit_email))
-                .args(&["-n1", "--first-parent", "HEAD"]),
+                .args(["-n1", "--first-parent", "HEAD"]),
         );
         let commit = merge_base.trim_end();
         if commit.is_empty() {
@@ -2442,7 +2448,7 @@ impl Config {
 
         // Warn if there were changes to the compiler or standard library since the ancestor commit.
         let mut git = self.git();
-        git.args(&["diff-index", "--quiet", &commit, "--"]);
+        git.args(["diff-index", "--quiet", commit, "--"]);
 
         for path in modified_paths {
             git.arg(format!("{top_level}/{path}"));
diff --git a/src/bootstrap/src/core/download.rs b/src/bootstrap/src/core/download.rs
index b4ae3578ce3..185089a646b 100644
--- a/src/bootstrap/src/core/download.rs
+++ b/src/bootstrap/src/core/download.rs
@@ -159,7 +159,7 @@ impl Config {
             ";
             nix_build_succeeded = try_run(
                 self,
-                Command::new("nix-build").args(&[
+                Command::new("nix-build").args([
                     Path::new("-E"),
                     Path::new(NIX_EXPR),
                     Path::new("-o"),
@@ -188,7 +188,7 @@ impl Config {
             let dynamic_linker_path = nix_deps_dir.join("nix-support/dynamic-linker");
             // FIXME: can we support utf8 here? `args` doesn't accept Vec<u8>, only OsString ...
             let dynamic_linker = t!(String::from_utf8(t!(fs::read(dynamic_linker_path))));
-            patchelf.args(&["--set-interpreter", dynamic_linker.trim_end()]);
+            patchelf.args(["--set-interpreter", dynamic_linker.trim_end()]);
         }
 
         let _ = try_run(self, patchelf.arg(fname));
@@ -218,7 +218,7 @@ impl Config {
         println!("downloading {url}");
         // Try curl. If that fails and we are on windows, fallback to PowerShell.
         let mut curl = Command::new("curl");
-        curl.args(&[
+        curl.args([
             "-y",
             "30",
             "-Y",
@@ -242,7 +242,7 @@ impl Config {
             if self.build.contains("windows-msvc") {
                 eprintln!("Fallback to PowerShell");
                 for _ in 0..3 {
-                    if try_run(self, Command::new("PowerShell.exe").args(&[
+                    if try_run(self, Command::new("PowerShell.exe").args([
                         "/nologo",
                         "-Command",
                         "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;",
@@ -388,7 +388,7 @@ impl Config {
         let bin_root = self.out.join(host.triple).join("stage0");
         let clippy_stamp = bin_root.join(".clippy-stamp");
         let cargo_clippy = bin_root.join("bin").join(exe("cargo-clippy", host));
-        if cargo_clippy.exists() && !program_out_of_date(&clippy_stamp, &date) {
+        if cargo_clippy.exists() && !program_out_of_date(&clippy_stamp, date) {
             return cargo_clippy;
         }
 
@@ -421,14 +421,14 @@ impl Config {
             DownloadSource::Dist,
             format!("rustfmt-{version}-{build}.tar.xz", build = host.triple),
             "rustfmt-preview",
-            &date,
+            date,
             "rustfmt",
         );
         self.download_component(
             DownloadSource::Dist,
             format!("rustc-{version}-{build}.tar.xz", build = host.triple),
             "rustc",
-            &date,
+            date,
             "rustfmt",
         );
 
@@ -665,7 +665,7 @@ download-rustc = false
         }
         let llvm_root = self.ci_llvm_root();
         let llvm_stamp = llvm_root.join(".llvm-stamp");
-        let llvm_sha = detect_llvm_sha(&self, self.rust_info.is_managed_git_subrepository());
+        let llvm_sha = detect_llvm_sha(self, self.rust_info.is_managed_git_subrepository());
         let key = format!("{}{}", llvm_sha, self.llvm_assertions);
         if program_out_of_date(&llvm_stamp, &key) && !self.dry_run() {
             self.download_ci_llvm(&llvm_sha);
@@ -685,11 +685,11 @@ download-rustc = false
             // rebuild.
             let now = filetime::FileTime::from_system_time(std::time::SystemTime::now());
             let llvm_config = llvm_root.join("bin").join(exe("llvm-config", self.build));
-            t!(filetime::set_file_times(&llvm_config, now, now));
+            t!(filetime::set_file_times(llvm_config, now, now));
 
             if self.should_fix_bins_and_dylibs() {
                 let llvm_lib = llvm_root.join("lib");
-                for entry in t!(fs::read_dir(&llvm_lib)) {
+                for entry in t!(fs::read_dir(llvm_lib)) {
                     let lib = t!(entry).path();
                     if lib.extension().map_or(false, |ext| ext == "so") {
                         self.fix_bin_or_dylib(&lib);
diff --git a/src/bootstrap/src/lib.rs b/src/bootstrap/src/lib.rs
index 121ed88c92f..965d788bb83 100644
--- a/src/bootstrap/src/lib.rs
+++ b/src/bootstrap/src/lib.rs
@@ -467,7 +467,7 @@ impl Build {
         }
 
         // Make a symbolic link so we can use a consistent directory in the documentation.
-        let build_triple = build.out.join(&build.build.triple);
+        let build_triple = build.out.join(build.build.triple);
         t!(fs::create_dir_all(&build_triple));
         let host = build.out.join("host");
         if host.is_symlink() {
@@ -491,7 +491,7 @@ impl Build {
     ///
     /// `relative_path` should be relative to the root of the git repository, not an absolute path.
     pub(crate) fn update_submodule(&self, relative_path: &Path) {
-        if !self.config.submodules(&self.rust_info()) {
+        if !self.config.submodules(self.rust_info()) {
             return;
         }
 
@@ -507,11 +507,11 @@ impl Build {
 
         // check_submodule
         let checked_out_hash =
-            output(Command::new("git").args(&["rev-parse", "HEAD"]).current_dir(&absolute_path));
+            output(Command::new("git").args(["rev-parse", "HEAD"]).current_dir(&absolute_path));
         // update_submodules
         let recorded = output(
             Command::new("git")
-                .args(&["ls-tree", "HEAD"])
+                .args(["ls-tree", "HEAD"])
                 .arg(relative_path)
                 .current_dir(&self.config.src),
         );
@@ -529,7 +529,7 @@ impl Build {
         println!("Updating submodule {}", relative_path.display());
         self.run(
             Command::new("git")
-                .args(&["submodule", "-q", "sync"])
+                .args(["submodule", "-q", "sync"])
                 .arg(relative_path)
                 .current_dir(&self.config.src),
         );
@@ -560,7 +560,7 @@ impl Build {
                 let branch = branch.strip_prefix("heads/").unwrap_or(&branch);
                 git.arg("-c").arg(format!("branch.{branch}.remote=origin"));
             }
-            git.args(&["submodule", "update", "--init", "--recursive", "--depth=1"]);
+            git.args(["submodule", "update", "--init", "--recursive", "--depth=1"]);
             if progress {
                 git.arg("--progress");
             }
@@ -577,7 +577,7 @@ impl Build {
         let has_local_modifications = !self.run_cmd(
             BootstrapCommand::from(
                 Command::new("git")
-                    .args(&["diff-index", "--quiet", "HEAD"])
+                    .args(["diff-index", "--quiet", "HEAD"])
                     .current_dir(&absolute_path),
             )
             .allow_failure()
@@ -587,14 +587,14 @@ impl Build {
             }),
         );
         if has_local_modifications {
-            self.run(Command::new("git").args(&["stash", "push"]).current_dir(&absolute_path));
+            self.run(Command::new("git").args(["stash", "push"]).current_dir(&absolute_path));
         }
 
-        self.run(Command::new("git").args(&["reset", "-q", "--hard"]).current_dir(&absolute_path));
-        self.run(Command::new("git").args(&["clean", "-qdfx"]).current_dir(&absolute_path));
+        self.run(Command::new("git").args(["reset", "-q", "--hard"]).current_dir(&absolute_path));
+        self.run(Command::new("git").args(["clean", "-qdfx"]).current_dir(&absolute_path));
 
         if has_local_modifications {
-            self.run(Command::new("git").args(&["stash", "pop"]).current_dir(absolute_path));
+            self.run(Command::new("git").args(["stash", "pop"]).current_dir(absolute_path));
         }
     }
 
@@ -602,20 +602,20 @@ impl Build {
     /// This avoids contributors checking in a submodule change by accident.
     pub fn update_existing_submodules(&self) {
         // Avoid running git when there isn't a git checkout.
-        if !self.config.submodules(&self.rust_info()) {
+        if !self.config.submodules(self.rust_info()) {
             return;
         }
         let output = output(
             self.config
                 .git()
-                .args(&["config", "--file"])
+                .args(["config", "--file"])
                 .arg(&self.config.src.join(".gitmodules"))
-                .args(&["--get-regexp", "path"]),
+                .args(["--get-regexp", "path"]),
         );
         for line in output.lines() {
             // Look for `submodule.$name.path = $path`
             // Sample output: `submodule.src/rust-installer.path src/tools/rust-installer`
-            let submodule = Path::new(line.splitn(2, ' ').nth(1).unwrap());
+            let submodule = Path::new(line.split_once(' ').unwrap().1);
             // Don't update the submodule unless it's already been cloned.
             if GitInfo::new(false, submodule).is_managed_git_subrepository() {
                 self.update_submodule(submodule);
@@ -630,26 +630,26 @@ impl Build {
         }
 
         // Download rustfmt early so that it can be used in rust-analyzer configs.
-        let _ = &builder::Builder::new(&self).initial_rustfmt();
+        let _ = &builder::Builder::new(self).initial_rustfmt();
 
         // hardcoded subcommands
         match &self.config.cmd {
             Subcommand::Format { check } => {
                 return core::build_steps::format::format(
-                    &builder::Builder::new(&self),
+                    &builder::Builder::new(self),
                     *check,
                     &self.config.paths,
                 );
             }
             Subcommand::Suggest { run } => {
-                return core::build_steps::suggest::suggest(&builder::Builder::new(&self), *run);
+                return core::build_steps::suggest::suggest(&builder::Builder::new(self), *run);
             }
             _ => (),
         }
 
         {
-            let builder = builder::Builder::new(&self);
-            if let Some(path) = builder.paths.get(0) {
+            let builder = builder::Builder::new(self);
+            if let Some(path) = builder.paths.first() {
                 if path == Path::new("nonexistent/path/to/trigger/cargo/metadata") {
                     return;
                 }
@@ -659,14 +659,14 @@ impl Build {
         if !self.config.dry_run() {
             {
                 self.config.dry_run = DryRun::SelfCheck;
-                let builder = builder::Builder::new(&self);
+                let builder = builder::Builder::new(self);
                 builder.execute_cli();
             }
             self.config.dry_run = DryRun::Disabled;
-            let builder = builder::Builder::new(&self);
+            let builder = builder::Builder::new(self);
             builder.execute_cli();
         } else {
-            let builder = builder::Builder::new(&self);
+            let builder = builder::Builder::new(self);
             builder.execute_cli();
         }
 
@@ -936,7 +936,7 @@ impl Build {
         static SYSROOT_CACHE: OnceLock<PathBuf> = OnceLock::new();
         SYSROOT_CACHE.get_or_init(|| {
             let mut rustc = Command::new(&self.initial_rustc);
-            rustc.args(&["--print", "sysroot"]);
+            rustc.args(["--print", "sysroot"]);
             output(&mut rustc).trim().into()
         })
     }
@@ -1162,7 +1162,7 @@ impl Build {
     fn group(&self, msg: &str) -> Option<gha::Group> {
         match self.config.dry_run {
             DryRun::SelfCheck => None,
-            DryRun::Disabled | DryRun::UserSelected => Some(gha::group(&msg)),
+            DryRun::Disabled | DryRun::UserSelected => Some(gha::group(msg)),
         }
     }
 
@@ -1322,7 +1322,7 @@ impl Build {
             .target_config
             .get(&target)
             .and_then(|t| t.musl_root.as_ref())
-            .or_else(|| self.config.musl_root.as_ref())
+            .or(self.config.musl_root.as_ref())
             .map(|p| &**p)
     }
 
@@ -1511,11 +1511,11 @@ impl Build {
 
     /// Returns the `a.b.c` version that the given package is at.
     fn release_num(&self, package: &str) -> String {
-        let toml_file_name = self.src.join(&format!("src/tools/{package}/Cargo.toml"));
-        let toml = t!(fs::read_to_string(&toml_file_name));
+        let toml_file_name = self.src.join(format!("src/tools/{package}/Cargo.toml"));
+        let toml = t!(fs::read_to_string(toml_file_name));
         for line in toml.lines() {
             if let Some(stripped) =
-                line.strip_prefix("version = \"").and_then(|s| s.strip_suffix("\""))
+                line.strip_prefix("version = \"").and_then(|s| s.strip_suffix('"'))
             {
                 return stripped.to_owned();
             }
@@ -1618,7 +1618,7 @@ impl Build {
         if src == dst {
             return;
         }
-        let _ = fs::remove_file(&dst);
+        let _ = fs::remove_file(dst);
         let metadata = t!(src.symlink_metadata());
         let mut src = src.to_path_buf();
         if metadata.file_type().is_symlink() {
@@ -1908,7 +1908,7 @@ pub fn prepare_behaviour_dump_dir(build: &Build) {
 
     let dump_path = build.out.join("bootstrap-shims-dump");
 
-    let initialized = INITIALIZED.get().unwrap_or_else(|| &false);
+    let initialized = INITIALIZED.get().unwrap_or(&false);
     if !initialized {
         // clear old dumps
         if dump_path.exists() {
diff --git a/src/bootstrap/src/utils/bin_helpers.rs b/src/bootstrap/src/utils/bin_helpers.rs
index 9c4e039ea69..5fbbe0bde0e 100644
--- a/src/bootstrap/src/utils/bin_helpers.rs
+++ b/src/bootstrap/src/utils/bin_helpers.rs
@@ -39,8 +39,7 @@ pub(crate) fn maybe_dump(dump_name: String, cmd: &Command) {
     if let Ok(dump_dir) = env::var("DUMP_BOOTSTRAP_SHIMS") {
         let dump_file = format!("{dump_dir}/{dump_name}");
 
-        let mut file =
-            OpenOptions::new().create(true).write(true).append(true).open(&dump_file).unwrap();
+        let mut file = OpenOptions::new().create(true).append(true).open(dump_file).unwrap();
 
         let cmd_dump = format!("{:?}\n", cmd);
         let cmd_dump = cmd_dump.replace(&env::var("BUILD_OUT").unwrap(), "${BUILD_OUT}");
diff --git a/src/bootstrap/src/utils/cache.rs b/src/bootstrap/src/utils/cache.rs
index 1b2aa9c234b..2b86585a9d3 100644
--- a/src/bootstrap/src/utils/cache.rs
+++ b/src/bootstrap/src/utils/cache.rs
@@ -64,7 +64,7 @@ unsafe impl<T> Sync for Interned<T> {}
 
 impl fmt::Display for Interned<String> {
     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
-        let s: &str = &*self;
+        let s: &str = self;
         f.write_str(s)
     }
 }
@@ -74,7 +74,7 @@ where
     Self: Deref<Target = U>,
 {
     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
-        let s: &U = &*self;
+        let s: &U = self;
         f.write_fmt(format_args!("{s:?}"))
     }
 }
@@ -132,7 +132,7 @@ impl<T: Hash + Clone + Eq> TyIntern<T> {
         B: Eq + Hash + ToOwned<Owned = T> + ?Sized,
         T: Borrow<B>,
     {
-        if let Some(i) = self.set.get(&item) {
+        if let Some(i) = self.set.get(item) {
             return *i;
         }
         let item = item.to_owned();
@@ -233,7 +233,7 @@ impl Cache {
         let type_id = TypeId::of::<S>();
         let stepcache = cache
             .entry(type_id)
-            .or_insert_with(|| Box::new(HashMap::<S, S::Output>::new()))
+            .or_insert_with(|| Box::<HashMap<S, S::Output>>::default())
             .downcast_mut::<HashMap<S, S::Output>>()
             .expect("invalid type mapped");
         assert!(!stepcache.contains_key(&step), "processing {step:?} a second time");
@@ -245,7 +245,7 @@ impl Cache {
         let type_id = TypeId::of::<S>();
         let stepcache = cache
             .entry(type_id)
-            .or_insert_with(|| Box::new(HashMap::<S, S::Output>::new()))
+            .or_insert_with(|| Box::<HashMap<S, S::Output>>::default())
             .downcast_mut::<HashMap<S, S::Output>>()
             .expect("invalid type mapped");
         stepcache.get(step).cloned()
diff --git a/src/bootstrap/src/utils/cc_detect.rs b/src/bootstrap/src/utils/cc_detect.rs
index fb5b9d8c88f..ff2992bc896 100644
--- a/src/bootstrap/src/utils/cc_detect.rs
+++ b/src/bootstrap/src/utils/cc_detect.rs
@@ -35,7 +35,7 @@ use crate::{Build, CLang, GitRepo};
 // try to infer the archiver path from the C compiler path.
 // In the future this logic should be replaced by calling into the `cc` crate.
 fn cc2ar(cc: &Path, target: TargetSelection) -> Option<PathBuf> {
-    if let Some(ar) = env::var_os(format!("AR_{}", target.triple.replace("-", "_"))) {
+    if let Some(ar) = env::var_os(format!("AR_{}", target.triple.replace('-', "_"))) {
         Some(PathBuf::from(ar))
     } else if let Some(ar) = env::var_os("AR") {
         Some(PathBuf::from(ar))
@@ -172,11 +172,9 @@ fn default_compiler(
         // When compiling for android we may have the NDK configured in the
         // config.toml in which case we look there. Otherwise the default
         // compiler already takes into account the triple in question.
-        t if t.contains("android") => build
-            .config
-            .android_ndk
-            .as_ref()
-            .map(|ndk| ndk_compiler(compiler, &*target.triple, ndk)),
+        t if t.contains("android") => {
+            build.config.android_ndk.as_ref().map(|ndk| ndk_compiler(compiler, &target.triple, ndk))
+        }
 
         // The default gcc version from OpenBSD may be too old, try using egcc,
         // which is a gcc version from ports, if this is the case.
@@ -230,7 +228,7 @@ fn default_compiler(
 }
 
 pub(crate) fn ndk_compiler(compiler: Language, triple: &str, ndk: &Path) -> PathBuf {
-    let mut triple_iter = triple.split("-");
+    let mut triple_iter = triple.split('-');
     let triple_translated = if let Some(arch) = triple_iter.next() {
         let arch_new = match arch {
             "arm" | "armv7" | "armv7neon" | "thumbv7" | "thumbv7neon" => "armv7a",
diff --git a/src/bootstrap/src/utils/change_tracker.rs b/src/bootstrap/src/utils/change_tracker.rs
index ec62f9f1f8c..b813d82ca6f 100644
--- a/src/bootstrap/src/utils/change_tracker.rs
+++ b/src/bootstrap/src/utils/change_tracker.rs
@@ -2,6 +2,8 @@
 //! with the goal of keeping developers synchronized with important modifications in
 //! the bootstrap.
 
+use std::fmt::Display;
+
 #[cfg(test)]
 mod tests;
 
@@ -24,11 +26,11 @@ pub enum ChangeSeverity {
     Warning,
 }
 
-impl ToString for ChangeSeverity {
-    fn to_string(&self) -> String {
+impl Display for ChangeSeverity {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         match self {
-            ChangeSeverity::Info => "INFO".to_string(),
-            ChangeSeverity::Warning => "WARNING".to_string(),
+            ChangeSeverity::Info => write!(f, "INFO"),
+            ChangeSeverity::Warning => write!(f, "WARNING"),
         }
     }
 }
@@ -40,7 +42,7 @@ pub fn find_recent_config_change_ids(current_id: usize) -> Vec<ChangeInfo> {
         // older one); otherwise, return the full list (assuming the user provided
         // the incorrect change-id by accident).
         if let Some(config) = CONFIG_CHANGE_HISTORY.iter().max_by_key(|config| config.change_id) {
-            if &current_id > &config.change_id {
+            if current_id > config.change_id {
                 return Vec::new();
             }
         }
@@ -119,4 +121,14 @@ pub const CONFIG_CHANGE_HISTORY: &[ChangeInfo] = &[
         severity: ChangeSeverity::Info,
         summary: "New option `target.<triple>.codegen-backends` added to config.toml.",
     },
+    ChangeInfo {
+        change_id: 121203,
+        severity: ChangeSeverity::Info,
+        summary: "A new `rust.frame-pointers` option has been introduced and made the default in the compiler and codegen profiles.",
+    },
+    ChangeInfo {
+        change_id: 121278,
+        severity: ChangeSeverity::Warning,
+        summary: "The \"codegen\"/\"llvm\" profile has been removed and replaced with \"compiler\", use it instead for the same behavior.",
+    },
 ];
diff --git a/src/bootstrap/src/utils/channel.rs b/src/bootstrap/src/utils/channel.rs
index e59d7f22aaa..88988c33916 100644
--- a/src/bootstrap/src/utils/channel.rs
+++ b/src/bootstrap/src/utils/channel.rs
@@ -97,7 +97,7 @@ impl GitInfo {
 
     pub fn version(&self, build: &Build, num: &str) -> String {
         let mut version = build.release(num);
-        if let Some(ref inner) = self.info() {
+        if let Some(inner) = self.info() {
             version.push_str(" (");
             version.push_str(&inner.short_sha);
             version.push(' ');
@@ -150,7 +150,7 @@ pub fn read_commit_info_file(root: &Path) -> Option<Info> {
 /// root.
 pub fn write_commit_info_file(root: &Path, info: &Info) {
     let commit_info = format!("{}\n{}\n{}\n", info.sha, info.short_sha, info.commit_date);
-    t!(fs::write(root.join("git-commit-info"), &commit_info));
+    t!(fs::write(root.join("git-commit-info"), commit_info));
 }
 
 /// Write the commit hash to the `git-commit-hash` file given the project root.
diff --git a/src/bootstrap/src/utils/helpers.rs b/src/bootstrap/src/utils/helpers.rs
index d1f713af917..a40ee189001 100644
--- a/src/bootstrap/src/utils/helpers.rs
+++ b/src/bootstrap/src/utils/helpers.rs
@@ -425,7 +425,7 @@ pub fn get_clang_cl_resource_dir(clang_cl_path: &str) -> PathBuf {
     // Similar to how LLVM does it, to find clang's library runtime directory:
     // - we ask `clang-cl` to locate the `clang_rt.builtins` lib.
     let mut builtins_locator = Command::new(clang_cl_path);
-    builtins_locator.args(&["/clang:-print-libgcc-file-name", "/clang:--rtlib=compiler-rt"]);
+    builtins_locator.args(["/clang:-print-libgcc-file-name", "/clang:--rtlib=compiler-rt"]);
 
     let clang_rt_builtins = output(&mut builtins_locator);
     let clang_rt_builtins = Path::new(clang_rt_builtins.trim());
@@ -475,7 +475,7 @@ pub fn dir_is_empty(dir: &Path) -> bool {
 /// the "y" part from the string.
 pub fn extract_beta_rev(version: &str) -> Option<String> {
     let parts = version.splitn(2, "-beta.").collect::<Vec<_>>();
-    let count = parts.get(1).and_then(|s| s.find(' ').map(|p| (&s[..p]).to_string()));
+    let count = parts.get(1).and_then(|s| s.find(' ').map(|p| s[..p].to_string()));
 
     count
 }
@@ -559,11 +559,10 @@ pub fn check_cfg_arg(name: &str, values: Option<&[&str]>) -> String {
     // ',values("tvos","watchos")' or '' (nothing) when there are no values.
     let next = match values {
         Some(values) => {
-            let mut tmp =
-                values.iter().map(|val| [",", "\"", val, "\""]).flatten().collect::<String>();
+            let mut tmp = values.iter().flat_map(|val| [",", "\"", val, "\""]).collect::<String>();
 
             tmp.insert_str(1, "values(");
-            tmp.push_str(")");
+            tmp.push(')');
             tmp
         }
         None => "".to_string(),
diff --git a/src/bootstrap/src/utils/render_tests.rs b/src/bootstrap/src/utils/render_tests.rs
index bff47f65c51..bfbb53f8c81 100644
--- a/src/bootstrap/src/utils/render_tests.rs
+++ b/src/bootstrap/src/utils/render_tests.rs
@@ -15,10 +15,10 @@ use termcolor::{Color, ColorSpec, WriteColor};
 const TERSE_TESTS_PER_LINE: usize = 88;
 
 pub(crate) fn add_flags_and_try_run_tests(builder: &Builder<'_>, cmd: &mut Command) -> bool {
-    if cmd.get_args().position(|arg| arg == "--").is_none() {
+    if !cmd.get_args().any(|arg| arg == "--") {
         cmd.arg("--");
     }
-    cmd.args(&["-Z", "unstable-options", "--format", "json"]);
+    cmd.args(["-Z", "unstable-options", "--format", "json"]);
 
     try_run_tests(builder, cmd, false)
 }
@@ -303,19 +303,19 @@ impl Outcome<'_> {
     fn write_short(&self, writer: &mut dyn WriteColor) -> Result<(), std::io::Error> {
         match self {
             Outcome::Ok => {
-                writer.set_color(&ColorSpec::new().set_fg(Some(Color::Green)))?;
+                writer.set_color(ColorSpec::new().set_fg(Some(Color::Green)))?;
                 write!(writer, ".")?;
             }
             Outcome::BenchOk => {
-                writer.set_color(&ColorSpec::new().set_fg(Some(Color::Cyan)))?;
+                writer.set_color(ColorSpec::new().set_fg(Some(Color::Cyan)))?;
                 write!(writer, "b")?;
             }
             Outcome::Failed => {
-                writer.set_color(&ColorSpec::new().set_fg(Some(Color::Red)))?;
+                writer.set_color(ColorSpec::new().set_fg(Some(Color::Red)))?;
                 write!(writer, "F")?;
             }
             Outcome::Ignored { .. } => {
-                writer.set_color(&ColorSpec::new().set_fg(Some(Color::Yellow)))?;
+                writer.set_color(ColorSpec::new().set_fg(Some(Color::Yellow)))?;
                 write!(writer, "i")?;
             }
         }
@@ -325,19 +325,19 @@ impl Outcome<'_> {
     fn write_long(&self, writer: &mut dyn WriteColor) -> Result<(), std::io::Error> {
         match self {
             Outcome::Ok => {
-                writer.set_color(&ColorSpec::new().set_fg(Some(Color::Green)))?;
+                writer.set_color(ColorSpec::new().set_fg(Some(Color::Green)))?;
                 write!(writer, "ok")?;
             }
             Outcome::BenchOk => {
-                writer.set_color(&ColorSpec::new().set_fg(Some(Color::Cyan)))?;
+                writer.set_color(ColorSpec::new().set_fg(Some(Color::Cyan)))?;
                 write!(writer, "benchmarked")?;
             }
             Outcome::Failed => {
-                writer.set_color(&ColorSpec::new().set_fg(Some(Color::Red)))?;
+                writer.set_color(ColorSpec::new().set_fg(Some(Color::Red)))?;
                 write!(writer, "FAILED")?;
             }
             Outcome::Ignored { reason } => {
-                writer.set_color(&ColorSpec::new().set_fg(Some(Color::Yellow)))?;
+                writer.set_color(ColorSpec::new().set_fg(Some(Color::Yellow)))?;
                 write!(writer, "ignored")?;
                 if let Some(reason) = reason {
                     write!(writer, ", {reason}")?;
diff --git a/src/bootstrap/src/utils/tarball.rs b/src/bootstrap/src/utils/tarball.rs
index a8393f88f8a..573d923ed8f 100644
--- a/src/bootstrap/src/utils/tarball.rs
+++ b/src/bootstrap/src/utils/tarball.rs
@@ -226,8 +226,7 @@ impl<'a> Tarball<'a> {
         if self.include_target_in_component_name {
             component_name.push('-');
             component_name.push_str(
-                &self
-                    .target
+                self.target
                     .as_ref()
                     .expect("include_target_in_component_name used in a targetless tarball"),
             );
@@ -326,7 +325,7 @@ impl<'a> Tarball<'a> {
             assert!(!formats.is_empty(), "dist.compression-formats can't be empty");
             cmd.arg("--compression-formats").arg(formats.join(","));
         }
-        cmd.args(&["--compression-profile", &self.builder.config.dist_compression_profile]);
+        cmd.args(["--compression-profile", &self.builder.config.dist_compression_profile]);
         self.builder.run(&mut cmd);
 
         // Ensure there are no symbolic links in the tarball. In particular,
@@ -347,7 +346,7 @@ impl<'a> Tarball<'a> {
             .config
             .dist_compression_formats
             .as_ref()
-            .and_then(|formats| formats.get(0))
+            .and_then(|formats| formats.first())
             .map(|s| s.as_str())
             .unwrap_or("gz");
 
diff --git a/src/doc/unstable-book/src/compiler-flags/sanitizer.md b/src/doc/unstable-book/src/compiler-flags/sanitizer.md
index 502853f39ae..523617eb3e1 100644
--- a/src/doc/unstable-book/src/compiler-flags/sanitizer.md
+++ b/src/doc/unstable-book/src/compiler-flags/sanitizer.md
@@ -1,5 +1,14 @@
 # `sanitizer`
 
+Sanitizers are tools that help detect and prevent various types of bugs and
+vulnerabilities in software. They are available in compilers and work by
+instrumenting the code to add additional runtime checks. While they provide
+powerful tools for identifying bugs or security issues, it's important to note
+that using sanitizers can introduce runtime overhead and might not catch all
+possible issues. Therefore, they are typically used alongside other best
+practices in software development, such as testing and fuzzing, to ensure the
+highest level of software quality and security.
+
 The tracking issues for this feature are:
 
 * [#39699](https://github.com/rust-lang/rust/issues/39699).
@@ -9,21 +18,26 @@ The tracking issues for this feature are:
 
 This feature allows for use of one of following sanitizers:
 
-* [AddressSanitizer](#addresssanitizer) a fast memory error detector.
-* [ControlFlowIntegrity](#controlflowintegrity) LLVM Control Flow Integrity (CFI) provides
-  forward-edge control flow protection.
-* [HWAddressSanitizer](#hwaddresssanitizer) a memory error detector similar to
-  AddressSanitizer, but based on partial hardware assistance.
-* [KernelControlFlowIntegrity](#kernelcontrolflowintegrity) LLVM Kernel Control
-  Flow Integrity (KCFI) provides forward-edge control flow protection for
-  operating systems kernels.
-* [LeakSanitizer](#leaksanitizer) a run-time memory leak detector.
-* [MemorySanitizer](#memorysanitizer) a detector of uninitialized reads.
-* [MemTagSanitizer](#memtagsanitizer) fast memory error detector based on
-  Armv8.5-A Memory Tagging Extension.
-* [SafeStack](#safestack) provides backward-edge control flow protection by separating the stack into safe and unsafe regions.
-* [ShadowCallStack](#shadowcallstack) provides backward-edge control flow protection (aarch64 only).
-* [ThreadSanitizer](#threadsanitizer) a fast data race detector.
+* Those intended for testing or fuzzing (but not production use):
+  * [AddressSanitizer](#addresssanitizer) a fast memory error detector.
+  * [HWAddressSanitizer](#hwaddresssanitizer) a memory error detector similar to
+    AddressSanitizer, but based on partial hardware assistance.
+  * [LeakSanitizer](#leaksanitizer) a run-time memory leak detector.
+  * [MemorySanitizer](#memorysanitizer) a detector of uninitialized reads.
+  * [ThreadSanitizer](#threadsanitizer) a fast data race detector.
+
+* Those that apart from testing, may be used in production:
+  * [ControlFlowIntegrity](#controlflowintegrity) LLVM Control Flow Integrity
+    (CFI) provides forward-edge control flow protection.
+  * [KernelControlFlowIntegrity](#kernelcontrolflowintegrity) LLVM Kernel
+    Control Flow Integrity (KCFI) provides forward-edge control flow protection
+    for operating systems kernels.
+  * [MemTagSanitizer](#memtagsanitizer) fast memory error detector based on
+    Armv8.5-A Memory Tagging Extension.
+  * [SafeStack](#safestack) provides backward-edge control flow protection by
+    separating the stack into safe and unsafe regions.
+  * [ShadowCallStack](#shadowcallstack) provides backward-edge control flow
+    protection (aarch64 only).
 
 To enable a sanitizer compile with `-Zsanitizer=address`,`-Zsanitizer=cfi`,
 `-Zsanitizer=hwaddress`, `-Zsanitizer=leak`, `-Zsanitizer=memory`,
diff --git a/src/librustdoc/clean/auto_trait.rs b/src/librustdoc/clean/auto_trait.rs
index 8cc4201c3fc..fbc2c3c5af4 100644
--- a/src/librustdoc/clean/auto_trait.rs
+++ b/src/librustdoc/clean/auto_trait.rs
@@ -318,15 +318,14 @@ where
     fn extract_for_generics(&self, pred: ty::Clause<'tcx>) -> FxHashSet<GenericParamDef> {
         let bound_predicate = pred.kind();
         let tcx = self.cx.tcx;
-        let regions = match bound_predicate.skip_binder() {
-            ty::ClauseKind::Trait(poly_trait_pred) => {
-                tcx.collect_referenced_late_bound_regions(&bound_predicate.rebind(poly_trait_pred))
-            }
-            ty::ClauseKind::Projection(poly_proj_pred) => {
-                tcx.collect_referenced_late_bound_regions(&bound_predicate.rebind(poly_proj_pred))
-            }
-            _ => return FxHashSet::default(),
-        };
+        let regions =
+            match bound_predicate.skip_binder() {
+                ty::ClauseKind::Trait(poly_trait_pred) => tcx
+                    .collect_referenced_late_bound_regions(bound_predicate.rebind(poly_trait_pred)),
+                ty::ClauseKind::Projection(poly_proj_pred) => tcx
+                    .collect_referenced_late_bound_regions(bound_predicate.rebind(poly_proj_pred)),
+                _ => return FxHashSet::default(),
+            };
 
         regions
             .into_iter()
diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs
index efad5a8d808..c662f054d05 100644
--- a/src/librustdoc/core.rs
+++ b/src/librustdoc/core.rs
@@ -3,7 +3,7 @@ use rustc_data_structures::sync::Lrc;
 use rustc_data_structures::unord::UnordSet;
 use rustc_errors::emitter::{DynEmitter, HumanEmitter};
 use rustc_errors::json::JsonEmitter;
-use rustc_errors::{codes::*, TerminalUrl};
+use rustc_errors::{codes::*, ErrorGuaranteed, TerminalUrl};
 use rustc_feature::UnstableFeatures;
 use rustc_hir::def::Res;
 use rustc_hir::def_id::{DefId, DefIdMap, DefIdSet, LocalDefId};
@@ -306,7 +306,7 @@ pub(crate) fn run_global_ctxt(
     show_coverage: bool,
     render_options: RenderOptions,
     output_format: OutputFormat,
-) -> (clean::Crate, RenderOptions, Cache) {
+) -> Result<(clean::Crate, RenderOptions, Cache), ErrorGuaranteed> {
     // Certain queries assume that some checks were run elsewhere
     // (see https://github.com/rust-lang/rust/pull/73566#issuecomment-656954425),
     // so type-check everything other than function bodies in this crate before running lints.
@@ -331,7 +331,10 @@ pub(crate) fn run_global_ctxt(
         });
     });
 
-    tcx.dcx().abort_if_errors();
+    if let Some(guar) = tcx.dcx().has_errors() {
+        return Err(guar);
+    }
+
     tcx.sess.time("missing_docs", || rustc_lint::check_crate(tcx));
     tcx.sess.time("check_mod_attrs", || {
         tcx.hir().for_each_module(|module| tcx.ensure().check_mod_attrs(module))
@@ -452,14 +455,13 @@ pub(crate) fn run_global_ctxt(
 
     tcx.sess.time("check_lint_expectations", || tcx.check_expectations(Some(sym::rustdoc)));
 
-    // We must include lint errors here.
-    if tcx.dcx().has_errors_or_lint_errors().is_some() {
-        rustc_errors::FatalError.raise();
+    if let Some(guar) = tcx.dcx().has_errors() {
+        return Err(guar);
     }
 
     krate = tcx.sess.time("create_format_cache", || Cache::populate(&mut ctxt, krate));
 
-    (krate, ctxt.render_options, ctxt.cache)
+    Ok((krate, ctxt.render_options, ctxt.cache))
 }
 
 /// Due to <https://github.com/rust-lang/rust/pull/73566>,
diff --git a/src/librustdoc/doctest.rs b/src/librustdoc/doctest.rs
index f9d4d1af114..09a90b62d97 100644
--- a/src/librustdoc/doctest.rs
+++ b/src/librustdoc/doctest.rs
@@ -153,8 +153,7 @@ pub(crate) fn run(options: RustdocOptions) -> Result<(), ErrorGuaranteed> {
 
                     collector
                 });
-                // We must include lint errors here.
-                if compiler.sess.dcx().has_errors_or_lint_errors().is_some() {
+                if compiler.sess.dcx().has_errors().is_some() {
                     FatalError.raise();
                 }
 
diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs
index 18ea49c5baf..33837fe5652 100644
--- a/src/librustdoc/lib.rs
+++ b/src/librustdoc/lib.rs
@@ -78,8 +78,7 @@ use std::io::{self, IsTerminal};
 use std::process;
 use std::sync::{atomic::AtomicBool, Arc};
 
-use rustc_driver::abort_on_err;
-use rustc_errors::ErrorGuaranteed;
+use rustc_errors::{ErrorGuaranteed, FatalError};
 use rustc_interface::interface;
 use rustc_middle::ty::TyCtxt;
 use rustc_session::config::{make_crate_type_option, ErrorOutputType, RustcOptGroup};
@@ -779,7 +778,7 @@ fn main_args(
         }
 
         compiler.enter(|queries| {
-            let mut gcx = abort_on_err(queries.global_ctxt(), sess);
+            let Ok(mut gcx) = queries.global_ctxt() else { FatalError.raise() };
             if sess.dcx().has_errors().is_some() {
                 sess.dcx().fatal("Compilation failed, aborting rustdoc");
             }
@@ -787,7 +786,7 @@ fn main_args(
             gcx.enter(|tcx| {
                 let (krate, render_opts, mut cache) = sess.time("run_global_ctxt", || {
                     core::run_global_ctxt(tcx, show_coverage, render_options, output_format)
-                });
+                })?;
                 info!("finished with rustc");
 
                 if let Some(options) = scrape_examples_options {
diff --git a/src/librustdoc/passes/collect_intra_doc_links.rs b/src/librustdoc/passes/collect_intra_doc_links.rs
index fe02611b5d4..a172580ac3f 100644
--- a/src/librustdoc/passes/collect_intra_doc_links.rs
+++ b/src/librustdoc/passes/collect_intra_doc_links.rs
@@ -8,7 +8,7 @@ use rustc_data_structures::{
     fx::{FxHashMap, FxHashSet},
     intern::Interned,
 };
-use rustc_errors::{Applicability, Diagnostic, DiagnosticMessage};
+use rustc_errors::{Applicability, DiagnosticBuilder, DiagnosticMessage};
 use rustc_hir::def::Namespace::*;
 use rustc_hir::def::{DefKind, Namespace, PerNS};
 use rustc_hir::def_id::{DefId, CRATE_DEF_ID};
@@ -1173,21 +1173,22 @@ impl LinkCollector<'_, '_> {
     ) {
         // The resolved item did not match the disambiguator; give a better error than 'not found'
         let msg = format!("incompatible link kind for `{path_str}`");
-        let callback = |diag: &mut Diagnostic, sp: Option<rustc_span::Span>, link_range| {
-            let note = format!(
-                "this link resolved to {} {}, which is not {} {}",
-                resolved.article(),
-                resolved.descr(),
-                specified.article(),
-                specified.descr(),
-            );
-            if let Some(sp) = sp {
-                diag.span_label(sp, note);
-            } else {
-                diag.note(note);
-            }
-            suggest_disambiguator(resolved, diag, path_str, link_range, sp, diag_info);
-        };
+        let callback =
+            |diag: &mut DiagnosticBuilder<'_, ()>, sp: Option<rustc_span::Span>, link_range| {
+                let note = format!(
+                    "this link resolved to {} {}, which is not {} {}",
+                    resolved.article(),
+                    resolved.descr(),
+                    specified.article(),
+                    specified.descr(),
+                );
+                if let Some(sp) = sp {
+                    diag.span_label(sp, note);
+                } else {
+                    diag.note(note);
+                }
+                suggest_disambiguator(resolved, diag, path_str, link_range, sp, diag_info);
+            };
         report_diagnostic(self.cx.tcx, BROKEN_INTRA_DOC_LINKS, msg, diag_info, callback);
     }
 
@@ -1676,7 +1677,7 @@ fn report_diagnostic(
     lint: &'static Lint,
     msg: impl Into<DiagnosticMessage> + Display,
     DiagnosticInfo { item, ori_link: _, dox, link_range }: &DiagnosticInfo<'_>,
-    decorate: impl FnOnce(&mut Diagnostic, Option<rustc_span::Span>, MarkdownLinkRange),
+    decorate: impl FnOnce(&mut DiagnosticBuilder<'_, ()>, Option<rustc_span::Span>, MarkdownLinkRange),
 ) {
     let Some(hir_id) = DocContext::as_local_hir_id(tcx, item.item_id) else {
         // If non-local, no need to check anything.
@@ -2124,7 +2125,7 @@ fn ambiguity_error(
 /// disambiguator.
 fn suggest_disambiguator(
     res: Res,
-    diag: &mut Diagnostic,
+    diag: &mut DiagnosticBuilder<'_, ()>,
     path_str: &str,
     link_range: MarkdownLinkRange,
     sp: Option<rustc_span::Span>,
diff --git a/src/tools/cargo b/src/tools/cargo
-Subproject 7b7af3077bff8d60b7f124189bc9de227d3063a
+Subproject 194a60b2952bd5d12ba15dd2577a97eed7d3c58
diff --git a/src/tools/clippy/clippy_lints/src/casts/cast_possible_truncation.rs b/src/tools/clippy/clippy_lints/src/casts/cast_possible_truncation.rs
index f99a51e2b88..1543ae80399 100644
--- a/src/tools/clippy/clippy_lints/src/casts/cast_possible_truncation.rs
+++ b/src/tools/clippy/clippy_lints/src/casts/cast_possible_truncation.rs
@@ -4,7 +4,7 @@ use clippy_utils::expr_or_init;
 use clippy_utils::source::snippet;
 use clippy_utils::sugg::Sugg;
 use clippy_utils::ty::{get_discriminant_value, is_isize_or_usize};
-use rustc_errors::{Applicability, Diagnostic, SuggestionStyle};
+use rustc_errors::{Applicability, DiagnosticBuilder, SuggestionStyle};
 use rustc_hir::def::{DefKind, Res};
 use rustc_hir::{BinOpKind, Expr, ExprKind};
 use rustc_lint::LateContext;
@@ -177,7 +177,7 @@ fn offer_suggestion(
     expr: &Expr<'_>,
     cast_expr: &Expr<'_>,
     cast_to_span: Span,
-    diag: &mut Diagnostic,
+    diag: &mut DiagnosticBuilder<'_, ()>,
 ) {
     let cast_to_snip = snippet(cx, cast_to_span, "..");
     let suggestion = if cast_to_snip == "_" {
diff --git a/src/tools/clippy/clippy_lints/src/functions/result.rs b/src/tools/clippy/clippy_lints/src/functions/result.rs
index f1200c2edc1..9505741e68f 100644
--- a/src/tools/clippy/clippy_lints/src/functions/result.rs
+++ b/src/tools/clippy/clippy_lints/src/functions/result.rs
@@ -1,4 +1,4 @@
-use rustc_errors::Diagnostic;
+use rustc_errors::DiagnosticBuilder;
 use rustc_hir as hir;
 use rustc_lint::{LateContext, LintContext};
 use rustc_middle::lint::in_external_macro;
@@ -135,7 +135,7 @@ fn check_result_large_err<'tcx>(cx: &LateContext<'tcx>, err_ty: Ty<'tcx>, hir_ty
                 RESULT_LARGE_ERR,
                 hir_ty_span,
                 "the `Err`-variant returned from this function is very large",
-                |diag: &mut Diagnostic| {
+                |diag: &mut DiagnosticBuilder<'_, ()>| {
                     diag.span_label(hir_ty_span, format!("the `Err`-variant is at least {ty_size} bytes"));
                     diag.help(format!("try reducing the size of `{err_ty}`, for example by boxing large elements or replacing it with `Box<{err_ty}>`"));
                 },
diff --git a/src/tools/clippy/clippy_lints/src/if_let_mutex.rs b/src/tools/clippy/clippy_lints/src/if_let_mutex.rs
index 5e354209cbf..61a322ea881 100644
--- a/src/tools/clippy/clippy_lints/src/if_let_mutex.rs
+++ b/src/tools/clippy/clippy_lints/src/if_let_mutex.rs
@@ -1,7 +1,7 @@
 use clippy_utils::diagnostics::span_lint_and_then;
 use clippy_utils::ty::is_type_diagnostic_item;
 use clippy_utils::{higher, SpanlessEq};
-use rustc_errors::Diagnostic;
+use rustc_errors::DiagnosticBuilder;
 use rustc_hir::intravisit::{self as visit, Visitor};
 use rustc_hir::{Expr, ExprKind};
 use rustc_lint::{LateContext, LateLintPass};
@@ -59,7 +59,7 @@ impl<'tcx> LateLintPass<'tcx> for IfLetMutex {
                 arm_visit.visit_expr(if_else);
 
                 if let Some(arm_mutex) = arm_visit.found_mutex_if_same_as(op_mutex) {
-                    let diag = |diag: &mut Diagnostic| {
+                    let diag = |diag: &mut DiagnosticBuilder<'_, ()>| {
                         diag.span_label(
                             op_mutex.span,
                             "this Mutex will remain locked for the entire `if let`-block...",
diff --git a/src/tools/clippy/clippy_lints/src/implicit_hasher.rs b/src/tools/clippy/clippy_lints/src/implicit_hasher.rs
index 87f6f5e7959..746de50c0fa 100644
--- a/src/tools/clippy/clippy_lints/src/implicit_hasher.rs
+++ b/src/tools/clippy/clippy_lints/src/implicit_hasher.rs
@@ -1,7 +1,7 @@
 use std::borrow::Cow;
 use std::collections::BTreeMap;
 
-use rustc_errors::Diagnostic;
+use rustc_errors::DiagnosticBuilder;
 use rustc_hir as hir;
 use rustc_hir::intravisit::{walk_body, walk_expr, walk_inf, walk_ty, Visitor};
 use rustc_hir::{Body, Expr, ExprKind, GenericArg, Item, ItemKind, QPath, TyKind};
@@ -65,7 +65,7 @@ impl<'tcx> LateLintPass<'tcx> for ImplicitHasher {
 
         fn suggestion(
             cx: &LateContext<'_>,
-            diag: &mut Diagnostic,
+            diag: &mut DiagnosticBuilder<'_, ()>,
             generics_span: Span,
             generics_suggestion_span: Span,
             target: &ImplicitHasherType<'_>,
diff --git a/src/tools/clippy/clippy_lints/src/manual_clamp.rs b/src/tools/clippy/clippy_lints/src/manual_clamp.rs
index 0da309f9531..12bb80dfde2 100644
--- a/src/tools/clippy/clippy_lints/src/manual_clamp.rs
+++ b/src/tools/clippy/clippy_lints/src/manual_clamp.rs
@@ -9,7 +9,7 @@ use clippy_utils::{
     peel_blocks_with_stmt, MaybePath,
 };
 use itertools::Itertools;
-use rustc_errors::{Applicability, Diagnostic};
+use rustc_errors::{Applicability, DiagnosticBuilder};
 use rustc_hir::def::Res;
 use rustc_hir::{Arm, BinOpKind, Block, Expr, ExprKind, HirId, PatKind, PathSegment, PrimTy, QPath, StmtKind};
 use rustc_lint::{LateContext, LateLintPass};
@@ -163,7 +163,7 @@ fn emit_suggestion<'tcx>(cx: &LateContext<'tcx>, suggestion: &ClampSuggestion<'t
     };
     let suggestion = format!("{assignment}{input}.clamp({min}, {max}){semicolon}");
     let msg = "clamp-like pattern without using clamp function";
-    let lint_builder = |d: &mut Diagnostic| {
+    let lint_builder = |d: &mut DiagnosticBuilder<'_, ()>| {
         d.span_suggestion(*span, "replace with clamp", suggestion, Applicability::MaybeIncorrect);
         if *is_float {
             d.note("clamp will panic if max < min, min.is_nan(), or max.is_nan()")
diff --git a/src/tools/clippy/clippy_lints/src/matches/significant_drop_in_scrutinee.rs b/src/tools/clippy/clippy_lints/src/matches/significant_drop_in_scrutinee.rs
index ee0fdb35313..a7e42fd2405 100644
--- a/src/tools/clippy/clippy_lints/src/matches/significant_drop_in_scrutinee.rs
+++ b/src/tools/clippy/clippy_lints/src/matches/significant_drop_in_scrutinee.rs
@@ -2,7 +2,7 @@ use crate::FxHashSet;
 use clippy_utils::diagnostics::span_lint_and_then;
 use clippy_utils::source::{indent_of, snippet};
 use clippy_utils::{get_attr, is_lint_allowed};
-use rustc_errors::{Applicability, Diagnostic};
+use rustc_errors::{Applicability, DiagnosticBuilder};
 use rustc_hir::intravisit::{walk_expr, Visitor};
 use rustc_hir::{Arm, Expr, ExprKind, MatchSource};
 use rustc_lint::{LateContext, LintContext};
@@ -37,7 +37,7 @@ pub(super) fn check<'tcx>(
     }
 }
 
-fn set_diagnostic<'tcx>(diag: &mut Diagnostic, cx: &LateContext<'tcx>, expr: &'tcx Expr<'tcx>, found: FoundSigDrop) {
+fn set_diagnostic<'tcx>(diag: &mut DiagnosticBuilder<'_, ()>, cx: &LateContext<'tcx>, expr: &'tcx Expr<'tcx>, found: FoundSigDrop) {
     if found.lint_suggestion == LintSuggestion::MoveAndClone {
         // If our suggestion is to move and clone, then we want to leave it to the user to
         // decide how to address this lint, since it may be that cloning is inappropriate.
diff --git a/src/tools/clippy/clippy_lints/src/methods/suspicious_command_arg_space.rs b/src/tools/clippy/clippy_lints/src/methods/suspicious_command_arg_space.rs
index b2c5987e43d..617d6d998fc 100644
--- a/src/tools/clippy/clippy_lints/src/methods/suspicious_command_arg_space.rs
+++ b/src/tools/clippy/clippy_lints/src/methods/suspicious_command_arg_space.rs
@@ -1,6 +1,6 @@
 use clippy_utils::diagnostics::span_lint_and_then;
 use clippy_utils::ty::is_type_diagnostic_item;
-use rustc_errors::{Applicability, Diagnostic};
+use rustc_errors::{Applicability, DiagnosticBuilder};
 use rustc_lint::LateContext;
 use rustc_span::{sym, Span};
 use {rustc_ast as ast, rustc_hir as hir};
@@ -22,7 +22,7 @@ pub(super) fn check<'tcx>(cx: &LateContext<'tcx>, recv: &'tcx hir::Expr<'_>, arg
             SUSPICIOUS_COMMAND_ARG_SPACE,
             arg.span,
             "single argument that looks like it should be multiple arguments",
-            |diag: &mut Diagnostic| {
+            |diag: &mut DiagnosticBuilder<'_, ()>| {
                 diag.multipart_suggestion_verbose(
                     "consider splitting the argument",
                     vec![(span, "args".to_string()), (arg.span, format!("[{arg1:?}, {arg2:?}]"))],
diff --git a/src/tools/clippy/clippy_lints/src/missing_asserts_for_indexing.rs b/src/tools/clippy/clippy_lints/src/missing_asserts_for_indexing.rs
index 0e4d39c9990..ab25dde7efe 100644
--- a/src/tools/clippy/clippy_lints/src/missing_asserts_for_indexing.rs
+++ b/src/tools/clippy/clippy_lints/src/missing_asserts_for_indexing.rs
@@ -9,7 +9,7 @@ use clippy_utils::{eq_expr_value, hash_expr, higher};
 use rustc_ast::{LitKind, RangeLimits};
 use rustc_data_structures::packed::Pu128;
 use rustc_data_structures::unhash::UnhashMap;
-use rustc_errors::{Applicability, Diagnostic};
+use rustc_errors::{Applicability, DiagnosticBuilder};
 use rustc_hir::{BinOp, Block, Body, Expr, ExprKind, UnOp};
 use rustc_lint::{LateContext, LateLintPass};
 use rustc_session::declare_lint_pass;
@@ -67,7 +67,7 @@ declare_lint_pass!(MissingAssertsForIndexing => [MISSING_ASSERTS_FOR_INDEXING]);
 
 fn report_lint<F>(cx: &LateContext<'_>, full_span: Span, msg: &str, indexes: &[Span], f: F)
 where
-    F: FnOnce(&mut Diagnostic),
+    F: FnOnce(&mut DiagnosticBuilder<'_, ()>),
 {
     span_lint_and_then(cx, MISSING_ASSERTS_FOR_INDEXING, full_span, msg, |diag| {
         f(diag);
diff --git a/src/tools/clippy/clippy_lints/src/needless_pass_by_value.rs b/src/tools/clippy/clippy_lints/src/needless_pass_by_value.rs
index 384a402ce5b..6252f91b25f 100644
--- a/src/tools/clippy/clippy_lints/src/needless_pass_by_value.rs
+++ b/src/tools/clippy/clippy_lints/src/needless_pass_by_value.rs
@@ -6,7 +6,7 @@ use clippy_utils::ty::{
     implements_trait, implements_trait_with_env_from_iter, is_copy, is_type_diagnostic_item, is_type_lang_item,
 };
 use rustc_ast::ast::Attribute;
-use rustc_errors::{Applicability, Diagnostic};
+use rustc_errors::{Applicability, DiagnosticBuilder};
 use rustc_hir::intravisit::FnKind;
 use rustc_hir::{
     BindingAnnotation, Body, FnDecl, GenericArg, HirId, HirIdSet, Impl, ItemKind, LangItem, Mutability, Node, PatKind,
@@ -196,7 +196,7 @@ impl<'tcx> LateLintPass<'tcx> for NeedlessPassByValue {
                 && !moved_vars.contains(&canonical_id)
             {
                 // Dereference suggestion
-                let sugg = |diag: &mut Diagnostic| {
+                let sugg = |diag: &mut DiagnosticBuilder<'_, ()>| {
                     if let ty::Adt(def, ..) = ty.kind() {
                         if let Some(span) = cx.tcx.hir().span_if_local(def.did()) {
                             if type_allowed_to_implement_copy(
diff --git a/src/tools/clippy/clippy_utils/src/diagnostics.rs b/src/tools/clippy/clippy_utils/src/diagnostics.rs
index 5199959c0f2..db94b60dc95 100644
--- a/src/tools/clippy/clippy_utils/src/diagnostics.rs
+++ b/src/tools/clippy/clippy_utils/src/diagnostics.rs
@@ -8,13 +8,13 @@
 //! Thank you!
 //! ~The `INTERNAL_METADATA_COLLECTOR` lint
 
-use rustc_errors::{Applicability, Diagnostic, MultiSpan};
+use rustc_errors::{Applicability, DiagnosticBuilder, MultiSpan};
 use rustc_hir::HirId;
 use rustc_lint::{LateContext, Lint, LintContext};
 use rustc_span::Span;
 use std::env;
 
-fn docs_link(diag: &mut Diagnostic, lint: &'static Lint) {
+fn docs_link(diag: &mut DiagnosticBuilder<'_, ()>, lint: &'static Lint) {
     if env::var("CLIPPY_DISABLE_DOCS_LINKS").is_err() {
         if let Some(lint) = lint.name_lower().strip_prefix("clippy::") {
             diag.help(format!(
@@ -143,7 +143,7 @@ pub fn span_lint_and_then<C, S, F>(cx: &C, lint: &'static Lint, sp: S, msg: &str
 where
     C: LintContext,
     S: Into<MultiSpan>,
-    F: FnOnce(&mut Diagnostic),
+    F: FnOnce(&mut DiagnosticBuilder<'_, ()>),
 {
     #[expect(clippy::disallowed_methods)]
     cx.span_lint(lint, sp, msg.to_string(), |diag| {
@@ -165,7 +165,7 @@ pub fn span_lint_hir_and_then(
     hir_id: HirId,
     sp: impl Into<MultiSpan>,
     msg: &str,
-    f: impl FnOnce(&mut Diagnostic),
+    f: impl FnOnce(&mut DiagnosticBuilder<'_, ()>),
 ) {
     #[expect(clippy::disallowed_methods)]
     cx.tcx.node_span_lint(lint, hir_id, sp, msg.to_string(), |diag| {
@@ -214,7 +214,7 @@ pub fn span_lint_and_sugg<T: LintContext>(
 /// appear once per
 /// replacement. In human-readable format though, it only appears once before
 /// the whole suggestion.
-pub fn multispan_sugg<I>(diag: &mut Diagnostic, help_msg: &str, sugg: I)
+pub fn multispan_sugg<I>(diag: &mut DiagnosticBuilder<'_, ()>, help_msg: &str, sugg: I)
 where
     I: IntoIterator<Item = (Span, String)>,
 {
@@ -227,7 +227,7 @@ where
 /// multiple spans. This is tracked in issue [rustfix#141](https://github.com/rust-lang/rustfix/issues/141).
 /// Suggestions with multiple spans will be silently ignored.
 pub fn multispan_sugg_with_applicability<I>(
-    diag: &mut Diagnostic,
+    diag: &mut DiagnosticBuilder<'_, ()>,
     help_msg: &str,
     applicability: Applicability,
     sugg: I,
diff --git a/src/tools/clippy/clippy_utils/src/sugg.rs b/src/tools/clippy/clippy_utils/src/sugg.rs
index c86362c427c..b355e66b7b1 100644
--- a/src/tools/clippy/clippy_utils/src/sugg.rs
+++ b/src/tools/clippy/clippy_utils/src/sugg.rs
@@ -683,7 +683,7 @@ fn indentation<T: LintContext>(cx: &T, span: Span) -> Option<String> {
         })
 }
 
-/// Convenience extension trait for `Diagnostic`.
+/// Convenience extension trait for `DiagnosticBuilder`.
 pub trait DiagnosticExt<T: LintContext> {
     /// Suggests to add an attribute to an item.
     ///
@@ -731,7 +731,7 @@ pub trait DiagnosticExt<T: LintContext> {
     fn suggest_remove_item(&mut self, cx: &T, item: Span, msg: &str, applicability: Applicability);
 }
 
-impl<T: LintContext> DiagnosticExt<T> for rustc_errors::Diagnostic {
+impl<T: LintContext> DiagnosticExt<T> for rustc_errors::DiagnosticBuilder<'_, ()> {
     fn suggest_item_with_attr<D: Display + ?Sized>(
         &mut self,
         cx: &T,
diff --git a/src/tools/clippy/tests/ui-toml/suppress_lint_in_const/test.rs b/src/tools/clippy/tests/ui-toml/suppress_lint_in_const/test.rs
index 3edb3a10b76..4ae75544c60 100644
--- a/src/tools/clippy/tests/ui-toml/suppress_lint_in_const/test.rs
+++ b/src/tools/clippy/tests/ui-toml/suppress_lint_in_const/test.rs
@@ -13,8 +13,6 @@
 
 const ARR: [i32; 2] = [1, 2];
 const REF: &i32 = &ARR[idx()]; // Ok, should not produce stderr, since `suppress-restriction-lint-in-const` is set true.
-const REF_ERR: &i32 = &ARR[idx4()]; // Ok, let rustc handle const contexts.
-//~^ ERROR: failed
 
 const fn idx() -> usize {
     1
@@ -35,9 +33,6 @@ fn main() {
     x[const { idx() }]; // Ok, should not produce stderr.
     x[const { idx4() }]; // Ok, let rustc's `unconditional_panic` lint handle `usize` indexing on arrays.
     const { &ARR[idx()] }; // Ok, should not produce stderr, since `suppress-restriction-lint-in-const` is set true.
-    const { &ARR[idx4()] }; // Ok, should not produce stderr, since `suppress-restriction-lint-in-const` is set true.
-    //
-    //~^^ ERROR: failed
 
     let y = &x;
     y[0]; // Ok, referencing shouldn't affect this lint. See the issue 6021
diff --git a/src/tools/clippy/tests/ui-toml/suppress_lint_in_const/test.stderr b/src/tools/clippy/tests/ui-toml/suppress_lint_in_const/test.stderr
index 84e7eff4557..d5ce891b680 100644
--- a/src/tools/clippy/tests/ui-toml/suppress_lint_in_const/test.stderr
+++ b/src/tools/clippy/tests/ui-toml/suppress_lint_in_const/test.stderr
@@ -1,17 +1,5 @@
-error[E0080]: evaluation of `main::{constant#3}` failed
-  --> $DIR/test.rs:38:14
-   |
-LL |     const { &ARR[idx4()] }; // Ok, should not produce stderr, since `suppress-restriction-lint-in-const` is set true.
-   |              ^^^^^^^^^^^ index out of bounds: the length is 2 but the index is 4
-
-note: erroneous constant encountered
-  --> $DIR/test.rs:38:5
-   |
-LL |     const { &ARR[idx4()] }; // Ok, should not produce stderr, since `suppress-restriction-lint-in-const` is set true.
-   |     ^^^^^^^^^^^^^^^^^^^^^^
-
 error: indexing may panic
-  --> $DIR/test.rs:29:5
+  --> $DIR/test.rs:27:5
    |
 LL |     x[index];
    |     ^^^^^^^^
@@ -21,7 +9,7 @@ LL |     x[index];
    = help: to override `-D warnings` add `#[allow(clippy::indexing_slicing)]`
 
 error: indexing may panic
-  --> $DIR/test.rs:47:5
+  --> $DIR/test.rs:42:5
    |
 LL |     v[0];
    |     ^^^^
@@ -29,7 +17,7 @@ LL |     v[0];
    = help: consider using `.get(n)` or `.get_mut(n)` instead
 
 error: indexing may panic
-  --> $DIR/test.rs:48:5
+  --> $DIR/test.rs:43:5
    |
 LL |     v[10];
    |     ^^^^^
@@ -37,7 +25,7 @@ LL |     v[10];
    = help: consider using `.get(n)` or `.get_mut(n)` instead
 
 error: indexing may panic
-  --> $DIR/test.rs:49:5
+  --> $DIR/test.rs:44:5
    |
 LL |     v[1 << 3];
    |     ^^^^^^^^^
@@ -45,7 +33,7 @@ LL |     v[1 << 3];
    = help: consider using `.get(n)` or `.get_mut(n)` instead
 
 error: indexing may panic
-  --> $DIR/test.rs:55:5
+  --> $DIR/test.rs:50:5
    |
 LL |     v[N];
    |     ^^^^
@@ -53,19 +41,12 @@ LL |     v[N];
    = help: consider using `.get(n)` or `.get_mut(n)` instead
 
 error: indexing may panic
-  --> $DIR/test.rs:56:5
+  --> $DIR/test.rs:51:5
    |
 LL |     v[M];
    |     ^^^^
    |
    = help: consider using `.get(n)` or `.get_mut(n)` instead
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/test.rs:16:24
-   |
-LL | const REF_ERR: &i32 = &ARR[idx4()]; // Ok, let rustc handle const contexts.
-   |                        ^^^^^^^^^^^ index out of bounds: the length is 2 but the index is 4
-
-error: aborting due to 8 previous errors
+error: aborting due to 6 previous errors
 
-For more information about this error, try `rustc --explain E0080`.
diff --git a/src/tools/clippy/tests/ui/indexing_slicing_index.rs b/src/tools/clippy/tests/ui/indexing_slicing_index.rs
index 1ac0bb11014..2ababad7fc7 100644
--- a/src/tools/clippy/tests/ui/indexing_slicing_index.rs
+++ b/src/tools/clippy/tests/ui/indexing_slicing_index.rs
@@ -13,8 +13,6 @@
 const ARR: [i32; 2] = [1, 2];
 const REF: &i32 = &ARR[idx()]; // This should be linted, since `suppress-restriction-lint-in-const` default is false.
 //~^ ERROR: indexing may panic
-const REF_ERR: &i32 = &ARR[idx4()]; // Ok, let rustc handle const contexts.
-//~^ ERROR: indexing may panic
 
 const fn idx() -> usize {
     1
diff --git a/src/tools/clippy/tests/ui/indexing_slicing_index.stderr b/src/tools/clippy/tests/ui/indexing_slicing_index.stderr
index 6d64fa1e6cf..2996e31a1aa 100644
--- a/src/tools/clippy/tests/ui/indexing_slicing_index.stderr
+++ b/src/tools/clippy/tests/ui/indexing_slicing_index.stderr
@@ -9,29 +9,20 @@ LL | const REF: &i32 = &ARR[idx()]; // This should be linted, since `suppress-re
    = note: `-D clippy::indexing-slicing` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::indexing_slicing)]`
 
-error: indexing may panic
-  --> $DIR/indexing_slicing_index.rs:16:24
-   |
-LL | const REF_ERR: &i32 = &ARR[idx4()]; // Ok, let rustc handle const contexts.
-   |                        ^^^^^^^^^^^
-   |
-   = help: consider using `.get(n)` or `.get_mut(n)` instead
-   = note: the suggestion might not be applicable in constant blocks
-
 error[E0080]: evaluation of `main::{constant#3}` failed
-  --> $DIR/indexing_slicing_index.rs:48:14
+  --> $DIR/indexing_slicing_index.rs:46:14
    |
 LL |     const { &ARR[idx4()] };
    |              ^^^^^^^^^^^ index out of bounds: the length is 2 but the index is 4
 
 note: erroneous constant encountered
-  --> $DIR/indexing_slicing_index.rs:48:5
+  --> $DIR/indexing_slicing_index.rs:46:5
    |
 LL |     const { &ARR[idx4()] };
    |     ^^^^^^^^^^^^^^^^^^^^^^
 
 error: indexing may panic
-  --> $DIR/indexing_slicing_index.rs:29:5
+  --> $DIR/indexing_slicing_index.rs:27:5
    |
 LL |     x[index];
    |     ^^^^^^^^
@@ -39,7 +30,7 @@ LL |     x[index];
    = help: consider using `.get(n)` or `.get_mut(n)` instead
 
 error: index is out of bounds
-  --> $DIR/indexing_slicing_index.rs:32:5
+  --> $DIR/indexing_slicing_index.rs:30:5
    |
 LL |     x[4];
    |     ^^^^
@@ -48,13 +39,13 @@ LL |     x[4];
    = help: to override `-D warnings` add `#[allow(clippy::out_of_bounds_indexing)]`
 
 error: index is out of bounds
-  --> $DIR/indexing_slicing_index.rs:34:5
+  --> $DIR/indexing_slicing_index.rs:32:5
    |
 LL |     x[1 << 3];
    |     ^^^^^^^^^
 
 error: indexing may panic
-  --> $DIR/indexing_slicing_index.rs:45:14
+  --> $DIR/indexing_slicing_index.rs:43:14
    |
 LL |     const { &ARR[idx()] };
    |              ^^^^^^^^^^
@@ -63,7 +54,7 @@ LL |     const { &ARR[idx()] };
    = note: the suggestion might not be applicable in constant blocks
 
 error: indexing may panic
-  --> $DIR/indexing_slicing_index.rs:48:14
+  --> $DIR/indexing_slicing_index.rs:46:14
    |
 LL |     const { &ARR[idx4()] };
    |              ^^^^^^^^^^^
@@ -72,13 +63,13 @@ LL |     const { &ARR[idx4()] };
    = note: the suggestion might not be applicable in constant blocks
 
 error: index is out of bounds
-  --> $DIR/indexing_slicing_index.rs:55:5
+  --> $DIR/indexing_slicing_index.rs:53:5
    |
 LL |     y[4];
    |     ^^^^
 
 error: indexing may panic
-  --> $DIR/indexing_slicing_index.rs:58:5
+  --> $DIR/indexing_slicing_index.rs:56:5
    |
 LL |     v[0];
    |     ^^^^
@@ -86,7 +77,7 @@ LL |     v[0];
    = help: consider using `.get(n)` or `.get_mut(n)` instead
 
 error: indexing may panic
-  --> $DIR/indexing_slicing_index.rs:60:5
+  --> $DIR/indexing_slicing_index.rs:58:5
    |
 LL |     v[10];
    |     ^^^^^
@@ -94,7 +85,7 @@ LL |     v[10];
    = help: consider using `.get(n)` or `.get_mut(n)` instead
 
 error: indexing may panic
-  --> $DIR/indexing_slicing_index.rs:62:5
+  --> $DIR/indexing_slicing_index.rs:60:5
    |
 LL |     v[1 << 3];
    |     ^^^^^^^^^
@@ -102,13 +93,13 @@ LL |     v[1 << 3];
    = help: consider using `.get(n)` or `.get_mut(n)` instead
 
 error: index is out of bounds
-  --> $DIR/indexing_slicing_index.rs:70:5
+  --> $DIR/indexing_slicing_index.rs:68:5
    |
 LL |     x[N];
    |     ^^^^
 
 error: indexing may panic
-  --> $DIR/indexing_slicing_index.rs:73:5
+  --> $DIR/indexing_slicing_index.rs:71:5
    |
 LL |     v[N];
    |     ^^^^
@@ -116,7 +107,7 @@ LL |     v[N];
    = help: consider using `.get(n)` or `.get_mut(n)` instead
 
 error: indexing may panic
-  --> $DIR/indexing_slicing_index.rs:75:5
+  --> $DIR/indexing_slicing_index.rs:73:5
    |
 LL |     v[M];
    |     ^^^^
@@ -124,17 +115,11 @@ LL |     v[M];
    = help: consider using `.get(n)` or `.get_mut(n)` instead
 
 error: index is out of bounds
-  --> $DIR/indexing_slicing_index.rs:79:13
+  --> $DIR/indexing_slicing_index.rs:77:13
    |
 LL |     let _ = x[4];
    |             ^^^^
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/indexing_slicing_index.rs:16:24
-   |
-LL | const REF_ERR: &i32 = &ARR[idx4()]; // Ok, let rustc handle const contexts.
-   |                        ^^^^^^^^^^^ index out of bounds: the length is 2 but the index is 4
-
-error: aborting due to 17 previous errors
+error: aborting due to 15 previous errors
 
 For more information about this error, try `rustc --explain E0080`.
diff --git a/src/tools/clippy/tests/ui/non_send_fields_in_send_ty.rs b/src/tools/clippy/tests/ui/non_send_fields_in_send_ty.rs
index c6855a09696..046ea70b08f 100644
--- a/src/tools/clippy/tests/ui/non_send_fields_in_send_ty.rs
+++ b/src/tools/clippy/tests/ui/non_send_fields_in_send_ty.rs
@@ -1,5 +1,4 @@
 #![warn(clippy::non_send_fields_in_send_ty)]
-#![allow(suspicious_auto_trait_impls)]
 #![feature(extern_types)]
 
 use std::cell::UnsafeCell;
diff --git a/src/tools/clippy/tests/ui/non_send_fields_in_send_ty.stderr b/src/tools/clippy/tests/ui/non_send_fields_in_send_ty.stderr
index 1ea76196af9..99fd4ea60b6 100644
--- a/src/tools/clippy/tests/ui/non_send_fields_in_send_ty.stderr
+++ b/src/tools/clippy/tests/ui/non_send_fields_in_send_ty.stderr
@@ -1,11 +1,11 @@
 error: some fields in `RingBuffer<T>` are not safe to be sent to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:17:1
+  --> $DIR/non_send_fields_in_send_ty.rs:16:1
    |
 LL | unsafe impl<T> Send for RingBuffer<T> {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
 note: it is not safe to send field `data` to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:12:5
+  --> $DIR/non_send_fields_in_send_ty.rs:11:5
    |
 LL |     data: Vec<UnsafeCell<T>>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^
@@ -14,155 +14,155 @@ LL |     data: Vec<UnsafeCell<T>>,
    = help: to override `-D warnings` add `#[allow(clippy::non_send_fields_in_send_ty)]`
 
 error: some fields in `MvccRwLock<T>` are not safe to be sent to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:26:1
+  --> $DIR/non_send_fields_in_send_ty.rs:25:1
    |
 LL | unsafe impl<T> Send for MvccRwLock<T> {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
 note: it is not safe to send field `lock` to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:23:5
+  --> $DIR/non_send_fields_in_send_ty.rs:22:5
    |
 LL |     lock: Mutex<Box<T>>,
    |     ^^^^^^^^^^^^^^^^^^^
    = help: add bounds on type parameter `T` that satisfy `Mutex<Box<T>>: Send`
 
 error: some fields in `ArcGuard<RC, T>` are not safe to be sent to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:35:1
+  --> $DIR/non_send_fields_in_send_ty.rs:34:1
    |
 LL | unsafe impl<RC, T: Send> Send for ArcGuard<RC, T> {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
 note: it is not safe to send field `head` to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:32:5
+  --> $DIR/non_send_fields_in_send_ty.rs:31:5
    |
 LL |     head: Arc<RC>,
    |     ^^^^^^^^^^^^^
    = help: add bounds on type parameter `RC` that satisfy `Arc<RC>: Send`
 
 error: some fields in `DeviceHandle<T>` are not safe to be sent to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:52:1
+  --> $DIR/non_send_fields_in_send_ty.rs:51:1
    |
 LL | unsafe impl<T: UsbContext> Send for DeviceHandle<T> {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
 note: it is not safe to send field `context` to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:48:5
+  --> $DIR/non_send_fields_in_send_ty.rs:47:5
    |
 LL |     context: T,
    |     ^^^^^^^^^^
    = help: add `T: Send` bound in `Send` impl
 
 error: some fields in `NoGeneric` are not safe to be sent to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:60:1
+  --> $DIR/non_send_fields_in_send_ty.rs:59:1
    |
 LL | unsafe impl Send for NoGeneric {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
 note: it is not safe to send field `rc_is_not_send` to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:57:5
+  --> $DIR/non_send_fields_in_send_ty.rs:56:5
    |
 LL |     rc_is_not_send: Rc<String>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
    = help: use a thread-safe type that implements `Send`
 
 error: some fields in `MultiField<T>` are not safe to be sent to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:69:1
+  --> $DIR/non_send_fields_in_send_ty.rs:68:1
    |
 LL | unsafe impl<T> Send for MultiField<T> {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
 note: it is not safe to send field `field1` to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:64:5
+  --> $DIR/non_send_fields_in_send_ty.rs:63:5
    |
 LL |     field1: T,
    |     ^^^^^^^^^
    = help: add `T: Send` bound in `Send` impl
 note: it is not safe to send field `field2` to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:65:5
+  --> $DIR/non_send_fields_in_send_ty.rs:64:5
    |
 LL |     field2: T,
    |     ^^^^^^^^^
    = help: add `T: Send` bound in `Send` impl
 note: it is not safe to send field `field3` to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:66:5
+  --> $DIR/non_send_fields_in_send_ty.rs:65:5
    |
 LL |     field3: T,
    |     ^^^^^^^^^
    = help: add `T: Send` bound in `Send` impl
 
 error: some fields in `MyOption<T>` are not safe to be sent to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:77:1
+  --> $DIR/non_send_fields_in_send_ty.rs:76:1
    |
 LL | unsafe impl<T> Send for MyOption<T> {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
 note: it is not safe to send field `0` to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:73:12
+  --> $DIR/non_send_fields_in_send_ty.rs:72:12
    |
 LL |     MySome(T),
    |            ^
    = help: add `T: Send` bound in `Send` impl
 
 error: some fields in `MultiParam<A, B>` are not safe to be sent to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:90:1
+  --> $DIR/non_send_fields_in_send_ty.rs:89:1
    |
 LL | unsafe impl<A, B> Send for MultiParam<A, B> {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
 note: it is not safe to send field `vec` to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:87:5
+  --> $DIR/non_send_fields_in_send_ty.rs:86:5
    |
 LL |     vec: Vec<(A, B)>,
    |     ^^^^^^^^^^^^^^^^
    = help: add bounds on type parameters `A, B` that satisfy `Vec<(A, B)>: Send`
 
 error: some fields in `HeuristicTest` are not safe to be sent to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:109:1
+  --> $DIR/non_send_fields_in_send_ty.rs:108:1
    |
 LL | unsafe impl Send for HeuristicTest {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
 note: it is not safe to send field `field4` to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:104:5
+  --> $DIR/non_send_fields_in_send_ty.rs:103:5
    |
 LL |     field4: (*const NonSend, Rc<u8>),
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = help: use a thread-safe type that implements `Send`
 
 error: some fields in `AttrTest3<T>` are not safe to be sent to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:129:1
+  --> $DIR/non_send_fields_in_send_ty.rs:128:1
    |
 LL | unsafe impl<T> Send for AttrTest3<T> {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
 note: it is not safe to send field `0` to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:124:11
+  --> $DIR/non_send_fields_in_send_ty.rs:123:11
    |
 LL |     Enum2(T),
    |           ^
    = help: add `T: Send` bound in `Send` impl
 
 error: some fields in `Complex<P, u32>` are not safe to be sent to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:138:1
+  --> $DIR/non_send_fields_in_send_ty.rs:137:1
    |
 LL | unsafe impl<P> Send for Complex<P, u32> {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
 note: it is not safe to send field `field1` to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:134:5
+  --> $DIR/non_send_fields_in_send_ty.rs:133:5
    |
 LL |     field1: A,
    |     ^^^^^^^^^
    = help: add `P: Send` bound in `Send` impl
 
 error: some fields in `Complex<Q, MutexGuard<'static, bool>>` are not safe to be sent to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:142:1
+  --> $DIR/non_send_fields_in_send_ty.rs:141:1
    |
 LL | unsafe impl<Q: Send> Send for Complex<Q, MutexGuard<'static, bool>> {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
 note: it is not safe to send field `field2` to another thread
-  --> $DIR/non_send_fields_in_send_ty.rs:135:5
+  --> $DIR/non_send_fields_in_send_ty.rs:134:5
    |
 LL |     field2: B,
    |     ^^^^^^^^^
diff --git a/src/tools/compiletest/src/errors.rs b/src/tools/compiletest/src/errors.rs
index e0ec76aa027..140c3aa0a64 100644
--- a/src/tools/compiletest/src/errors.rs
+++ b/src/tools/compiletest/src/errors.rs
@@ -72,9 +72,9 @@ enum WhichLine {
 /// and also //~^ ERROR message one for the preceding line, and
 ///          //~| ERROR message two for that same line.
 ///
-/// If cfg is not None (i.e., in an incremental test), then we look
-/// for `//[X]~` instead, where `X` is the current `cfg`.
-pub fn load_errors(testfile: &Path, cfg: Option<&str>) -> Vec<Error> {
+/// If revision is not None, then we look
+/// for `//[X]~` instead, where `X` is the current revision.
+pub fn load_errors(testfile: &Path, revision: Option<&str>) -> Vec<Error> {
     let rdr = BufReader::new(File::open(testfile).unwrap());
 
     // `last_nonfollow_error` tracks the most recently seen
@@ -90,7 +90,7 @@ pub fn load_errors(testfile: &Path, cfg: Option<&str>) -> Vec<Error> {
     rdr.lines()
         .enumerate()
         .filter_map(|(line_num, line)| {
-            parse_expected(last_nonfollow_error, line_num + 1, &line.unwrap(), cfg).map(
+            parse_expected(last_nonfollow_error, line_num + 1, &line.unwrap(), revision).map(
                 |(which, error)| {
                     match which {
                         FollowPrevious(_) => {}
@@ -108,24 +108,27 @@ fn parse_expected(
     last_nonfollow_error: Option<usize>,
     line_num: usize,
     line: &str,
-    cfg: Option<&str>,
+    test_revision: Option<&str>,
 ) -> Option<(WhichLine, Error)> {
     // Matches comments like:
     //     //~
     //     //~|
     //     //~^
     //     //~^^^^^
-    //     //[cfg1]~
-    //     //[cfg1,cfg2]~^^
+    //     //[rev1]~
+    //     //[rev1,rev2]~^^
     static RE: Lazy<Regex> =
-        Lazy::new(|| Regex::new(r"//(?:\[(?P<cfgs>[\w,]+)])?~(?P<adjust>\||\^*)").unwrap());
+        Lazy::new(|| Regex::new(r"//(?:\[(?P<revs>[\w,]+)])?~(?P<adjust>\||\^*)").unwrap());
 
     let captures = RE.captures(line)?;
 
-    match (cfg, captures.name("cfgs")) {
-        // Only error messages that contain our `cfg` between the square brackets apply to us.
-        (Some(cfg), Some(filter)) if !filter.as_str().split(',').any(|s| s == cfg) => return None,
-        (Some(_), Some(_)) => {}
+    match (test_revision, captures.name("revs")) {
+        // Only error messages that contain our revision between the square brackets apply to us.
+        (Some(test_revision), Some(revision_filters)) => {
+            if !revision_filters.as_str().split(',').any(|r| r == test_revision) {
+                return None;
+            }
+        }
 
         (None, Some(_)) => panic!("Only tests with revisions should use `//[X]~`"),
 
diff --git a/src/tools/compiletest/src/header.rs b/src/tools/compiletest/src/header.rs
index 117828645a9..44e5d8dea7d 100644
--- a/src/tools/compiletest/src/header.rs
+++ b/src/tools/compiletest/src/header.rs
@@ -55,7 +55,7 @@ impl EarlyProps {
             &mut poisoned,
             testfile,
             rdr,
-            &mut |_, _, ln, _| {
+            &mut |HeaderLine { directive: ln, .. }| {
                 config.push_name_value_directive(ln, directives::AUX_BUILD, &mut props.aux, |r| {
                     r.trim().to_string()
                 });
@@ -289,20 +289,20 @@ impl TestProps {
         }
     }
 
-    pub fn from_aux_file(&self, testfile: &Path, cfg: Option<&str>, config: &Config) -> Self {
+    pub fn from_aux_file(&self, testfile: &Path, revision: Option<&str>, config: &Config) -> Self {
         let mut props = TestProps::new();
 
         // copy over select properties to the aux build:
         props.incremental_dir = self.incremental_dir.clone();
         props.ignore_pass = true;
-        props.load_from(testfile, cfg, config);
+        props.load_from(testfile, revision, config);
 
         props
     }
 
-    pub fn from_file(testfile: &Path, cfg: Option<&str>, config: &Config) -> Self {
+    pub fn from_file(testfile: &Path, revision: Option<&str>, config: &Config) -> Self {
         let mut props = TestProps::new();
-        props.load_from(testfile, cfg, config);
+        props.load_from(testfile, revision, config);
 
         match (props.pass_mode, props.fail_mode) {
             (None, None) if config.mode == Mode::Ui => props.fail_mode = Some(FailMode::Check),
@@ -315,9 +315,9 @@ impl TestProps {
 
     /// Loads properties from `testfile` into `props`. If a property is
     /// tied to a particular revision `foo` (indicated by writing
-    /// `//[foo]`), then the property is ignored unless `cfg` is
+    /// `//@[foo]`), then the property is ignored unless `test_revision` is
     /// `Some("foo")`.
-    fn load_from(&mut self, testfile: &Path, cfg: Option<&str>, config: &Config) {
+    fn load_from(&mut self, testfile: &Path, test_revision: Option<&str>, config: &Config) {
         let mut has_edition = false;
         if !testfile.is_dir() {
             let file = File::open(testfile).unwrap();
@@ -330,8 +330,8 @@ impl TestProps {
                 &mut poisoned,
                 testfile,
                 file,
-                &mut |revision, _, ln, _| {
-                    if revision.is_some() && revision != cfg {
+                &mut |HeaderLine { header_revision, directive: ln, .. }| {
+                    if header_revision.is_some() && header_revision != test_revision {
                         return;
                     }
 
@@ -455,7 +455,7 @@ impl TestProps {
                         &mut self.check_test_line_numbers_match,
                     );
 
-                    self.update_pass_mode(ln, cfg, config);
+                    self.update_pass_mode(ln, test_revision, config);
                     self.update_fail_mode(ln, config);
 
                     config.set_name_directive(ln, IGNORE_PASS, &mut self.ignore_pass);
@@ -645,44 +645,30 @@ impl TestProps {
     }
 }
 
-/// Extract a `(Option<line_config>, directive)` directive from a line if comment is present.
+/// Extract an `(Option<line_revision>, directive)` directive from a line if comment is present.
+///
+/// See [`HeaderLine`] for a diagram.
 pub fn line_directive<'line>(
     comment: &str,
-    ln: &'line str,
+    original_line: &'line str,
 ) -> Option<(Option<&'line str>, &'line str)> {
-    let ln = ln.trim_start();
-    if ln.starts_with(comment) {
-        let ln = ln[comment.len()..].trim_start();
-        if ln.starts_with('[') {
-            // A comment like `//[foo]` is specific to revision `foo`
-            let Some(close_brace) = ln.find(']') else {
-                panic!(
-                    "malformed condition directive: expected `{}[foo]`, found `{}`",
-                    comment, ln
-                );
-            };
+    // Ignore lines that don't start with the comment prefix.
+    let after_comment = original_line.trim_start().strip_prefix(comment)?.trim_start();
+
+    if let Some(after_open_bracket) = after_comment.strip_prefix('[') {
+        // A comment like `//@[foo]` only applies to revision `foo`.
+        let Some((line_revision, directive)) = after_open_bracket.split_once(']') else {
+            panic!(
+                "malformed condition directive: expected `{comment}[foo]`, found `{original_line}`"
+            )
+        };
 
-            let lncfg = &ln[1..close_brace];
-            Some((Some(lncfg), ln[(close_brace + 1)..].trim_start()))
-        } else {
-            Some((None, ln))
-        }
+        Some((Some(line_revision), directive.trim_start()))
     } else {
-        None
+        Some((None, after_comment))
     }
 }
 
-fn iter_header<R: Read>(
-    mode: Mode,
-    suite: &str,
-    poisoned: &mut bool,
-    testfile: &Path,
-    rdr: R,
-    it: &mut dyn FnMut(Option<&str>, &str, &str, usize),
-) {
-    iter_header_extra(mode, suite, poisoned, testfile, rdr, &[], it)
-}
-
 /// This is generated by collecting directives from ui tests and then extracting their directive
 /// names. This is **not** an exhaustive list of all possible directives. Instead, this is a
 /// best-effort approximation for diagnostics.
@@ -801,23 +787,65 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
     "unset-rustc-env",
 ];
 
-fn iter_header_extra(
+/// The broken-down contents of a line containing a test header directive,
+/// which [`iter_header`] passes to its callback function.
+///
+/// For example:
+///
+/// ```text
+/// //@ compile-flags: -O
+///     ^^^^^^^^^^^^^^^^^ directive
+/// ^^^^^^^^^^^^^^^^^^^^^ original_line
+///
+/// //@ [foo] compile-flags: -O
+///      ^^^                    header_revision
+///           ^^^^^^^^^^^^^^^^^ directive
+/// ^^^^^^^^^^^^^^^^^^^^^^^^^^^ original_line
+/// ```
+struct HeaderLine<'ln> {
+    line_number: usize,
+    /// Raw line from the test file, including comment prefix and any revision.
+    original_line: &'ln str,
+    /// Some header directives start with a revision name in square brackets
+    /// (e.g. `[foo]`), and only apply to that revision of the test.
+    /// If present, this field contains the revision name (e.g. `foo`).
+    header_revision: Option<&'ln str>,
+    /// The main part of the header directive, after removing the comment prefix
+    /// and the optional revision specifier.
+    directive: &'ln str,
+}
+
+fn iter_header(
     mode: Mode,
     suite: &str,
     poisoned: &mut bool,
     testfile: &Path,
     rdr: impl Read,
-    extra_directives: &[&str],
-    it: &mut dyn FnMut(Option<&str>, &str, &str, usize),
+    it: &mut dyn FnMut(HeaderLine<'_>),
 ) {
     if testfile.is_dir() {
         return;
     }
 
-    // Process any extra directives supplied by the caller (e.g. because they
-    // are implied by the test mode), with a dummy line number of 0.
-    for directive in extra_directives {
-        it(None, directive, directive, 0);
+    // Coverage tests in coverage-run mode always have these extra directives,
+    // without needing to specify them manually in every test file.
+    // (Some of the comments below have been copied over from the old
+    // `tests/run-make/coverage-reports/Makefile`, which no longer exists.)
+    if mode == Mode::CoverageRun {
+        let extra_directives: &[&str] = &[
+            "needs-profiler-support",
+            // FIXME(mati865): MinGW GCC miscompiles compiler-rt profiling library but with Clang it works
+            // properly. Since we only have GCC on the CI ignore the test for now.
+            "ignore-windows-gnu",
+            // FIXME(pietroalbini): this test currently does not work on cross-compiled
+            // targets because remote-test is not capable of sending back the *.profraw
+            // files generated by the LLVM instrumentation.
+            "ignore-cross-compile",
+        ];
+        // Process the extra implied directives, with a dummy line number of 0.
+        for directive in extra_directives {
+            it(HeaderLine { line_number: 0, original_line: "", header_revision: None, directive });
+        }
     }
 
     let comment = if testfile.extension().is_some_and(|e| e == "rs") {
@@ -843,14 +871,14 @@ fn iter_header_extra(
         // Assume that any directives will be found before the first
         // module or function. This doesn't seem to be an optimization
         // with a warm page cache. Maybe with a cold one.
-        let orig_ln = &ln;
+        let original_line = &ln;
         let ln = ln.trim();
         if ln.starts_with("fn") || ln.starts_with("mod") {
             return;
 
         // First try to accept `ui_test` style comments
-        } else if let Some((lncfg, ln)) = line_directive(comment, ln) {
-            it(lncfg, orig_ln, ln, line_number);
+        } else if let Some((header_revision, directive)) = line_directive(comment, ln) {
+            it(HeaderLine { line_number, original_line, header_revision, directive });
         } else if mode == Mode::Ui && suite == "ui" && !REVISION_MAGIC_COMMENT_RE.is_match(ln) {
             let Some((_, rest)) = line_directive("//", ln) else {
                 continue;
@@ -1143,44 +1171,23 @@ pub fn make_test_description<R: Read>(
     name: test::TestName,
     path: &Path,
     src: R,
-    cfg: Option<&str>,
+    test_revision: Option<&str>,
     poisoned: &mut bool,
 ) -> test::TestDesc {
     let mut ignore = false;
     let mut ignore_message = None;
     let mut should_fail = false;
 
-    let extra_directives: &[&str] = match config.mode {
-        // The coverage-run tests are treated as having these extra directives,
-        // without needing to specify them manually in every test file.
-        // (Some of the comments below have been copied over from
-        // `tests/run-make/coverage-reports/Makefile`, which no longer exists.)
-        Mode::CoverageRun => {
-            &[
-                "needs-profiler-support",
-                // FIXME(mati865): MinGW GCC miscompiles compiler-rt profiling library but with Clang it works
-                // properly. Since we only have GCC on the CI ignore the test for now.
-                "ignore-windows-gnu",
-                // FIXME(pietroalbini): this test currently does not work on cross-compiled
-                // targets because remote-test is not capable of sending back the *.profraw
-                // files generated by the LLVM instrumentation.
-                "ignore-cross-compile",
-            ]
-        }
-        _ => &[],
-    };
-
     let mut local_poisoned = false;
 
-    iter_header_extra(
+    iter_header(
         config.mode,
         &config.suite,
         &mut local_poisoned,
         path,
         src,
-        extra_directives,
-        &mut |revision, og_ln, ln, line_number| {
-            if revision.is_some() && revision != cfg {
+        &mut |HeaderLine { header_revision, original_line, directive: ln, line_number }| {
+            if header_revision.is_some() && header_revision != test_revision {
                 return;
             }
 
@@ -1204,7 +1211,7 @@ pub fn make_test_description<R: Read>(
                 };
             }
 
-            if let Some((_, post)) = og_ln.trim_start().split_once("//") {
+            if let Some((_, post)) = original_line.trim_start().split_once("//") {
                 let post = post.trim_start();
                 if post.starts_with("ignore-tidy")
                     && config.mode == Mode::Ui
diff --git a/src/tools/compiletest/src/header/tests.rs b/src/tools/compiletest/src/header/tests.rs
index 274006ae8c1..f76fb406cea 100644
--- a/src/tools/compiletest/src/header/tests.rs
+++ b/src/tools/compiletest/src/header/tests.rs
@@ -10,12 +10,19 @@ fn make_test_description<R: Read>(
     name: test::TestName,
     path: &Path,
     src: R,
-    cfg: Option<&str>,
+    revision: Option<&str>,
 ) -> test::TestDesc {
     let cache = HeadersCache::load(config);
     let mut poisoned = false;
-    let test =
-        crate::header::make_test_description(config, &cache, name, path, src, cfg, &mut poisoned);
+    let test = crate::header::make_test_description(
+        config,
+        &cache,
+        name,
+        path,
+        src,
+        revision,
+        &mut poisoned,
+    );
     if poisoned {
         panic!("poisoned!");
     }
diff --git a/src/tools/compiletest/src/lib.rs b/src/tools/compiletest/src/lib.rs
index 667358b1a6e..57a82eb37ed 100644
--- a/src/tools/compiletest/src/lib.rs
+++ b/src/tools/compiletest/src/lib.rs
@@ -745,7 +745,7 @@ fn make_test(
     let revisions = if early_props.revisions.is_empty() || config.mode == Mode::Incremental {
         vec![None]
     } else {
-        early_props.revisions.iter().map(Some).collect()
+        early_props.revisions.iter().map(|r| Some(r.as_str())).collect()
     };
 
     revisions
@@ -753,20 +753,13 @@ fn make_test(
         .map(|revision| {
             let src_file =
                 std::fs::File::open(&test_path).expect("open test file to parse ignores");
-            let cfg = revision.map(|v| &**v);
             let test_name = crate::make_test_name(&config, testpaths, revision);
             let mut desc = make_test_description(
-                &config, cache, test_name, &test_path, src_file, cfg, poisoned,
+                &config, cache, test_name, &test_path, src_file, revision, poisoned,
             );
             // Ignore tests that already run and are up to date with respect to inputs.
             if !config.force_rerun {
-                desc.ignore |= is_up_to_date(
-                    &config,
-                    testpaths,
-                    &early_props,
-                    revision.map(|s| s.as_str()),
-                    inputs,
-                );
+                desc.ignore |= is_up_to_date(&config, testpaths, &early_props, revision, inputs);
             }
             test::TestDescAndFn {
                 desc,
@@ -879,7 +872,7 @@ impl Stamp {
 fn make_test_name(
     config: &Config,
     testpaths: &TestPaths,
-    revision: Option<&String>,
+    revision: Option<&str>,
 ) -> test::TestName {
     // Print the name of the file, relative to the repository root.
     // `src_base` looks like `/path/to/rust/tests/ui`
@@ -907,11 +900,11 @@ fn make_test_name(
 fn make_test_closure(
     config: Arc<Config>,
     testpaths: &TestPaths,
-    revision: Option<&String>,
+    revision: Option<&str>,
 ) -> test::TestFn {
     let config = config.clone();
     let testpaths = testpaths.clone();
-    let revision = revision.cloned();
+    let revision = revision.map(str::to_owned);
     test::DynTestFn(Box::new(move || {
         runtest::run(config, &testpaths, revision.as_deref());
         Ok(())
diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs
index f3a0e87d43a..f3e2a940f36 100644
--- a/src/tools/compiletest/src/runtest.rs
+++ b/src/tools/compiletest/src/runtest.rs
@@ -1936,7 +1936,7 @@ impl<'test> TestCx<'test> {
     fn document(&self, out_dir: &Path) -> ProcRes {
         if self.props.build_aux_docs {
             for rel_ab in &self.props.aux_builds {
-                let aux_testpaths = self.compute_aux_test_paths(rel_ab);
+                let aux_testpaths = self.compute_aux_test_paths(&self.testpaths, rel_ab);
                 let aux_props =
                     self.props.from_aux_file(&aux_testpaths.file, self.revision, self.config);
                 let aux_cx = TestCx {
@@ -2092,24 +2092,18 @@ impl<'test> TestCx<'test> {
         proc_res
     }
 
-    /// For each `aux-build: foo/bar` annotation, we check to find the
-    /// file in an `auxiliary` directory relative to the test itself.
-    fn compute_aux_test_paths(&self, rel_ab: &str) -> TestPaths {
-        let test_ab = self
-            .testpaths
-            .file
-            .parent()
-            .expect("test file path has no parent")
-            .join("auxiliary")
-            .join(rel_ab);
+    /// For each `aux-build: foo/bar` annotation, we check to find the file in an `auxiliary`
+    /// directory relative to the test itself (not any intermediate auxiliaries).
+    fn compute_aux_test_paths(&self, of: &TestPaths, rel_ab: &str) -> TestPaths {
+        let test_ab =
+            of.file.parent().expect("test file path has no parent").join("auxiliary").join(rel_ab);
         if !test_ab.exists() {
             self.fatal(&format!("aux-build `{}` source not found", test_ab.display()))
         }
 
         TestPaths {
             file: test_ab,
-            relative_dir: self
-                .testpaths
+            relative_dir: of
                 .relative_dir
                 .join(self.output_testname_unique())
                 .join("auxiliary")
@@ -2135,7 +2129,7 @@ impl<'test> TestCx<'test> {
         self.config.target.contains("vxworks") && !self.is_vxworks_pure_static()
     }
 
-    fn build_all_auxiliary(&self, rustc: &mut Command) -> PathBuf {
+    fn aux_output_dir(&self) -> PathBuf {
         let aux_dir = self.aux_output_dir_name();
 
         if !self.props.aux_builds.is_empty() {
@@ -2143,22 +2137,26 @@ impl<'test> TestCx<'test> {
             create_dir_all(&aux_dir).unwrap();
         }
 
+        aux_dir
+    }
+
+    fn build_all_auxiliary(&self, of: &TestPaths, aux_dir: &Path, rustc: &mut Command) {
         for rel_ab in &self.props.aux_builds {
-            self.build_auxiliary(rel_ab, &aux_dir);
+            self.build_auxiliary(of, rel_ab, &aux_dir);
         }
 
         for (aux_name, aux_path) in &self.props.aux_crates {
-            let is_dylib = self.build_auxiliary(&aux_path, &aux_dir);
+            let is_dylib = self.build_auxiliary(of, &aux_path, &aux_dir);
             let lib_name =
                 get_lib_name(&aux_path.trim_end_matches(".rs").replace('-', "_"), is_dylib);
             rustc.arg("--extern").arg(format!("{}={}/{}", aux_name, aux_dir.display(), lib_name));
         }
-
-        aux_dir
     }
 
     fn compose_and_run_compiler(&self, mut rustc: Command, input: Option<String>) -> ProcRes {
-        let aux_dir = self.build_all_auxiliary(&mut rustc);
+        let aux_dir = self.aux_output_dir();
+        self.build_all_auxiliary(&self.testpaths, &aux_dir, &mut rustc);
+
         self.props.unset_rustc_env.iter().fold(&mut rustc, Command::env_remove);
         rustc.envs(self.props.rustc_env.clone());
         self.compose_and_run(
@@ -2172,10 +2170,10 @@ impl<'test> TestCx<'test> {
     /// Builds an aux dependency.
     ///
     /// Returns whether or not it is a dylib.
-    fn build_auxiliary(&self, source_path: &str, aux_dir: &Path) -> bool {
-        let aux_testpaths = self.compute_aux_test_paths(source_path);
+    fn build_auxiliary(&self, of: &TestPaths, source_path: &str, aux_dir: &Path) -> bool {
+        let aux_testpaths = self.compute_aux_test_paths(of, source_path);
         let aux_props = self.props.from_aux_file(&aux_testpaths.file, self.revision, self.config);
-        let aux_output = TargetLocation::ThisDirectory(self.aux_output_dir_name());
+        let aux_output = TargetLocation::ThisDirectory(aux_dir.to_path_buf());
         let aux_cx = TestCx {
             config: self.config,
             props: &aux_props,
@@ -2193,6 +2191,7 @@ impl<'test> TestCx<'test> {
             LinkToAux::No,
             Vec::new(),
         );
+        aux_cx.build_all_auxiliary(of, aux_dir, &mut aux_rustc);
 
         for key in &aux_props.unset_rustc_env {
             aux_rustc.env_remove(key);
@@ -3034,7 +3033,8 @@ impl<'test> TestCx<'test> {
             LinkToAux::Yes,
             Vec::new(),
         );
-        new_rustdoc.build_all_auxiliary(&mut rustc);
+        let aux_dir = new_rustdoc.aux_output_dir();
+        new_rustdoc.build_all_auxiliary(&new_rustdoc.testpaths, &aux_dir, &mut rustc);
 
         let proc_res = new_rustdoc.document(&compare_dir);
         if !proc_res.status.success() {
@@ -3938,10 +3938,15 @@ impl<'test> TestCx<'test> {
                 self.props.compare_output_lines_by_subset,
             );
         } else if !expected_fixed.is_empty() {
-            panic!(
-                "the `// run-rustfix` directive wasn't found but a `*.fixed` \
-                 file was found"
-            );
+            if self.config.suite == "ui" {
+                panic!(
+                    "the `//@ run-rustfix` directive wasn't found but a `*.fixed` file was found"
+                );
+            } else {
+                panic!(
+                    "the `// run-rustfix` directive wasn't found but a `*.fixed` file was found"
+                );
+            }
         }
 
         if errors > 0 {
diff --git a/src/tools/miri/rust-version b/src/tools/miri/rust-version
index 715917e0f2f..02ab748c447 100644
--- a/src/tools/miri/rust-version
+++ b/src/tools/miri/rust-version
@@ -1 +1 @@
-d5735645753e990a72446094f703df9b5e421555
+c5f69bdd5173a948e0131f934fa7c4cbf5e0b55f
diff --git a/src/tools/miri/src/bin/miri.rs b/src/tools/miri/src/bin/miri.rs
index db4c4a28deb..8a7133fea43 100644
--- a/src/tools/miri/src/bin/miri.rs
+++ b/src/tools/miri/src/bin/miri.rs
@@ -68,7 +68,7 @@ impl rustc_driver::Callbacks for MiriCompilerCalls {
         queries: &'tcx rustc_interface::Queries<'tcx>,
     ) -> Compilation {
         queries.global_ctxt().unwrap().enter(|tcx| {
-            if tcx.sess.compile_status().is_err() {
+            if tcx.sess.dcx().has_errors().is_some() {
                 tcx.dcx().fatal("miri cannot be run on programs that fail compilation");
             }
 
diff --git a/src/tools/miri/tests/fail/dangling_pointers/deref_dangling_box.rs b/src/tools/miri/tests/fail/dangling_pointers/deref_dangling_box.rs
index d2823672ade..fa40f942b8f 100644
--- a/src/tools/miri/tests/fail/dangling_pointers/deref_dangling_box.rs
+++ b/src/tools/miri/tests/fail/dangling_pointers/deref_dangling_box.rs
@@ -8,7 +8,7 @@ use std::ptr::{self, addr_of_mut};
 // (This test relies on the `deref_copy` pass that lowers `**ptr` to materialize the intermediate pointer.)
 
 fn main() {
-    let mut inner = ptr::invalid::<i32>(24);
+    let mut inner = ptr::without_provenance::<i32>(24);
     let outer = addr_of_mut!(inner).cast::<Box<i32>>();
     // Now `outer` is a pointer to a dangling reference.
     // Deref'ing that should be UB.
diff --git a/src/tools/miri/tests/fail/dangling_pointers/deref_dangling_ref.rs b/src/tools/miri/tests/fail/dangling_pointers/deref_dangling_ref.rs
index b62e041d70c..036ef2580a8 100644
--- a/src/tools/miri/tests/fail/dangling_pointers/deref_dangling_ref.rs
+++ b/src/tools/miri/tests/fail/dangling_pointers/deref_dangling_ref.rs
@@ -8,7 +8,7 @@ use std::ptr::{self, addr_of_mut};
 // (This test relies on the `deref_copy` pass that lowers `**ptr` to materialize the intermediate pointer.)
 
 fn main() {
-    let mut inner = ptr::invalid::<i32>(24);
+    let mut inner = ptr::without_provenance::<i32>(24);
     let outer = addr_of_mut!(inner).cast::<&'static mut i32>();
     // Now `outer` is a pointer to a dangling reference.
     // Deref'ing that should be UB.
diff --git a/src/tools/miri/tests/fail/provenance/ptr_invalid.rs b/src/tools/miri/tests/fail/provenance/ptr_invalid.rs
index 5d44928d1d2..730859684a0 100644
--- a/src/tools/miri/tests/fail/provenance/ptr_invalid.rs
+++ b/src/tools/miri/tests/fail/provenance/ptr_invalid.rs
@@ -1,9 +1,9 @@
 #![feature(strict_provenance, exposed_provenance)]
 
-// Ensure that a `ptr::invalid` ptr is truly invalid.
+// Ensure that a `ptr::without_provenance` ptr is truly invalid.
 fn main() {
     let x = 42;
     let xptr = &x as *const i32;
-    let xptr_invalid = std::ptr::invalid::<i32>(xptr.expose_addr());
+    let xptr_invalid = std::ptr::without_provenance::<i32>(xptr.expose_addr());
     let _val = unsafe { *xptr_invalid }; //~ ERROR: is a dangling pointer
 }
diff --git a/src/tools/miri/tests/fail/provenance/ptr_invalid_offset.rs b/src/tools/miri/tests/fail/provenance/ptr_invalid_offset.rs
index 91ba18f7680..c8be521ef82 100644
--- a/src/tools/miri/tests/fail/provenance/ptr_invalid_offset.rs
+++ b/src/tools/miri/tests/fail/provenance/ptr_invalid_offset.rs
@@ -4,7 +4,7 @@
 fn main() {
     let x = 22;
     let ptr = &x as *const _ as *const u8;
-    let roundtrip = std::ptr::invalid::<u8>(ptr as usize);
+    let roundtrip = std::ptr::without_provenance::<u8>(ptr as usize);
     // Not even offsetting this is allowed.
     let _ = unsafe { roundtrip.offset(1) }; //~ERROR: is a dangling pointer
 }
diff --git a/src/tools/miri/tests/pass-dep/shims/mmap.rs b/src/tools/miri/tests/pass-dep/shims/mmap.rs
index 7bbb9dd53cb..5acdedc67bf 100644
--- a/src/tools/miri/tests/pass-dep/shims/mmap.rs
+++ b/src/tools/miri/tests/pass-dep/shims/mmap.rs
@@ -71,7 +71,7 @@ fn test_mmap<Offset: Default>(
 
     let ptr = unsafe {
         mmap(
-            ptr::invalid_mut(page_size * 64),
+            ptr::without_provenance_mut(page_size * 64),
             page_size,
             libc::PROT_READ | libc::PROT_WRITE,
             // We don't support MAP_FIXED
@@ -114,13 +114,13 @@ fn test_mmap<Offset: Default>(
     assert_eq!(ptr, libc::MAP_FAILED);
 
     // We report an error when trying to munmap an address which is not a multiple of the page size
-    let res = unsafe { libc::munmap(ptr::invalid_mut(1), page_size) };
+    let res = unsafe { libc::munmap(ptr::without_provenance_mut(1), page_size) };
     assert_eq!(res, -1);
     assert_eq!(Error::last_os_error().raw_os_error().unwrap(), libc::EINVAL);
 
     // We report an error when trying to munmap a length that cannot be rounded up to a multiple of
     // the page size.
-    let res = unsafe { libc::munmap(ptr::invalid_mut(page_size), usize::MAX - 1) };
+    let res = unsafe { libc::munmap(ptr::without_provenance_mut(page_size), usize::MAX - 1) };
     assert_eq!(res, -1);
     assert_eq!(Error::last_os_error().raw_os_error().unwrap(), libc::EINVAL);
 }
@@ -155,8 +155,9 @@ fn test_mremap() {
 
     // Test all of our error conditions
     // Not aligned
-    let ptr =
-        unsafe { libc::mremap(ptr::invalid_mut(1), page_size, page_size, libc::MREMAP_MAYMOVE) };
+    let ptr = unsafe {
+        libc::mremap(ptr::without_provenance_mut(1), page_size, page_size, libc::MREMAP_MAYMOVE)
+    };
     assert_eq!(ptr, libc::MAP_FAILED);
     assert_eq!(Error::last_os_error().raw_os_error().unwrap(), libc::EINVAL);
 
diff --git a/src/tools/miri/tests/pass-dep/shims/posix_memalign.rs b/src/tools/miri/tests/pass-dep/shims/posix_memalign.rs
index 9bd8a00d68d..5cf62995fbe 100644
--- a/src/tools/miri/tests/pass-dep/shims/posix_memalign.rs
+++ b/src/tools/miri/tests/pass-dep/shims/posix_memalign.rs
@@ -58,7 +58,7 @@ fn main() {
 
     // Non-power of 2 align
     unsafe {
-        let mut ptr: *mut libc::c_void = ptr::invalid_mut(0x1234567);
+        let mut ptr: *mut libc::c_void = ptr::without_provenance_mut(0x1234567);
         let align = 15;
         let size = 8;
         assert_eq!(libc::posix_memalign(&mut ptr, align, size), libc::EINVAL);
@@ -70,7 +70,7 @@ fn main() {
 
     // Too small align (smaller than ptr)
     unsafe {
-        let mut ptr: *mut libc::c_void = ptr::invalid_mut(0x1234567);
+        let mut ptr: *mut libc::c_void = ptr::without_provenance_mut(0x1234567);
         let align = std::mem::size_of::<usize>() / 2;
         let size = 8;
         assert_eq!(libc::posix_memalign(&mut ptr, align, size), libc::EINVAL);
diff --git a/src/tools/miri/tests/pass/align_offset_symbolic.rs b/src/tools/miri/tests/pass/align_offset_symbolic.rs
index ac28c63e081..c32fa2c8f9b 100644
--- a/src/tools/miri/tests/pass/align_offset_symbolic.rs
+++ b/src/tools/miri/tests/pass/align_offset_symbolic.rs
@@ -100,7 +100,7 @@ fn huge_align() {
     #[cfg(target_pointer_width = "16")]
     const SIZE: usize = 1 << 13;
     struct HugeSize(#[allow(dead_code)] [u8; SIZE - 1]);
-    let _ = std::ptr::invalid::<HugeSize>(SIZE).align_offset(SIZE);
+    let _ = std::ptr::without_provenance::<HugeSize>(SIZE).align_offset(SIZE);
 }
 
 // This shows that we cannot store the promised alignment info in `AllocExtra`,
diff --git a/src/tools/miri/tests/pass/atomic.rs b/src/tools/miri/tests/pass/atomic.rs
index 60b8ff87b59..dfdc9b42f81 100644
--- a/src/tools/miri/tests/pass/atomic.rs
+++ b/src/tools/miri/tests/pass/atomic.rs
@@ -137,7 +137,7 @@ fn atomic_ptr() {
 
     let ptr = AtomicPtr::<i32>::new(ptr::null_mut());
     assert!(ptr.load(Relaxed).addr() == 0);
-    ptr.store(ptr::invalid_mut(13), SeqCst);
+    ptr.store(ptr::without_provenance_mut(13), SeqCst);
     assert!(ptr.swap(x, Relaxed).addr() == 13);
     unsafe { assert!(*ptr.load(Acquire) == 0) };
 
@@ -145,7 +145,7 @@ fn atomic_ptr() {
     assert_eq!(
         ptr.compare_exchange(
             (&mut 0 as *mut i32).with_addr(x.addr()),
-            ptr::invalid_mut(0),
+            ptr::without_provenance_mut(0),
             SeqCst,
             SeqCst
         )
@@ -156,7 +156,7 @@ fn atomic_ptr() {
     assert_eq!(
         ptr.compare_exchange(
             (&mut 0 as *mut i32).with_addr(x.addr()),
-            ptr::invalid_mut(0),
+            ptr::without_provenance_mut(0),
             SeqCst,
             SeqCst
         )
diff --git a/src/tools/miri/tests/pass/ptr_raw.rs b/src/tools/miri/tests/pass/ptr_raw.rs
index 11c3455a9ca..dcf13d97ce3 100644
--- a/src/tools/miri/tests/pass/ptr_raw.rs
+++ b/src/tools/miri/tests/pass/ptr_raw.rs
@@ -35,12 +35,12 @@ fn assign_overlapping() {
 fn deref_invalid() {
     unsafe {
         // `addr_of!(*ptr)` is never UB.
-        let _val = addr_of!(*ptr::invalid::<i32>(0));
-        let _val = addr_of!(*ptr::invalid::<i32>(1)); // not aligned
+        let _val = addr_of!(*ptr::without_provenance::<i32>(0));
+        let _val = addr_of!(*ptr::without_provenance::<i32>(1)); // not aligned
 
         // Similarly, just mentioning the place is fine.
-        let _ = *ptr::invalid::<i32>(0);
-        let _ = *ptr::invalid::<i32>(1);
+        let _ = *ptr::without_provenance::<i32>(0);
+        let _ = *ptr::without_provenance::<i32>(1);
     }
 }
 
diff --git a/src/tools/miri/tests/pass/slices.rs b/src/tools/miri/tests/pass/slices.rs
index a99e921150b..0b9805681b4 100644
--- a/src/tools/miri/tests/pass/slices.rs
+++ b/src/tools/miri/tests/pass/slices.rs
@@ -29,7 +29,8 @@ fn slice_of_zst() {
 
     // In a slice of zero-size elements the pointer is meaningless.
     // Ensure iteration still works even if the pointer is at the end of the address space.
-    let slice: &[()] = unsafe { slice::from_raw_parts(ptr::invalid(-5isize as usize), 10) };
+    let slice: &[()] =
+        unsafe { slice::from_raw_parts(ptr::without_provenance(-5isize as usize), 10) };
     assert_eq!(slice.len(), 10);
     assert_eq!(slice.iter().count(), 10);
 
@@ -43,7 +44,7 @@ fn slice_of_zst() {
 
     // Test mutable iterators as well
     let slice: &mut [()] =
-        unsafe { slice::from_raw_parts_mut(ptr::invalid_mut(-5isize as usize), 10) };
+        unsafe { slice::from_raw_parts_mut(ptr::without_provenance_mut(-5isize as usize), 10) };
     assert_eq!(slice.len(), 10);
     assert_eq!(slice.iter_mut().count(), 10);
 
@@ -263,7 +264,7 @@ fn test_for_invalidated_pointers() {
 fn large_raw_slice() {
     let size = isize::MAX as usize;
     // Creating a raw slice of size isize::MAX and asking for its size is okay.
-    let s = std::ptr::slice_from_raw_parts(ptr::invalid::<u8>(1), size);
+    let s = std::ptr::slice_from_raw_parts(ptr::without_provenance::<u8>(1), size);
     assert_eq!(size, unsafe { std::mem::size_of_val_raw(s) });
 }
 
diff --git a/src/tools/miri/tests/pass/underscore_pattern.rs b/src/tools/miri/tests/pass/underscore_pattern.rs
index b0e85bc1bb0..f0afe558954 100644
--- a/src/tools/miri/tests/pass/underscore_pattern.rs
+++ b/src/tools/miri/tests/pass/underscore_pattern.rs
@@ -38,7 +38,7 @@ fn invalid_match() {
 
 fn dangling_let() {
     unsafe {
-        let ptr = ptr::invalid::<bool>(0x40);
+        let ptr = ptr::without_provenance::<bool>(0x40);
         let _ = *ptr;
     }
 }
@@ -54,7 +54,7 @@ fn invalid_let() {
 // Adding a type annotation used to change how MIR is generated, make sure we cover both cases.
 fn dangling_let_type_annotation() {
     unsafe {
-        let ptr = ptr::invalid::<bool>(0x40);
+        let ptr = ptr::without_provenance::<bool>(0x40);
         let _: bool = *ptr;
     }
 }
diff --git a/src/tools/rust-analyzer/crates/ide-db/src/generated/lints.rs b/src/tools/rust-analyzer/crates/ide-db/src/generated/lints.rs
index 2fc07933200..3329909e9da 100644
--- a/src/tools/rust-analyzer/crates/ide-db/src/generated/lints.rs
+++ b/src/tools/rust-analyzer/crates/ide-db/src/generated/lints.rs
@@ -503,10 +503,6 @@ pub const DEFAULT_LINTS: &[Lint] = &[
         description: r##"stable features found in `#[feature]` directive"##,
     },
     Lint {
-        label: "suspicious_auto_trait_impls",
-        description: r##"the rules governing auto traits have recently changed resulting in potential breakage"##,
-    },
-    Lint {
         label: "suspicious_double_ref_op",
         description: r##"suspicious call of trait method on `&&T`"##,
     },
@@ -778,7 +774,6 @@ pub const DEFAULT_LINT_GROUPS: &[LintGroup] = &[
             "repr_transparent_external_private_fields",
             "semicolon_in_expressions_from_macros",
             "soft_unstable",
-            "suspicious_auto_trait_impls",
             "uninhabited_static",
             "unstable_name_collisions",
             "unstable_syntax_pre_expansion",
diff --git a/src/tools/tidy/src/deps.rs b/src/tools/tidy/src/deps.rs
index b36b6da308e..cff219285dc 100644
--- a/src/tools/tidy/src/deps.rs
+++ b/src/tools/tidy/src/deps.rs
@@ -92,6 +92,7 @@ const EXCEPTIONS: ExceptionList = &[
     ("ryu", "Apache-2.0 OR BSL-1.0"), // BSL is not acceptble, but we use it under Apache-2.0                       // cargo/... (because of serde)
     ("self_cell", "Apache-2.0"),                             // rustc (fluent translations)
     ("snap", "BSD-3-Clause"),                                // rustc
+    ("wasmparser", "Apache-2.0 WITH LLVM-exception"),        // rustc
     // tidy-alphabetical-end
 ];
 
@@ -379,6 +380,7 @@ const PERMITTED_RUSTC_DEPENDENCIES: &[&str] = &[
     "valuable",
     "version_check",
     "wasi",
+    "wasmparser",
     "winapi",
     "winapi-i686-pc-windows-gnu",
     "winapi-util",
@@ -564,6 +566,21 @@ fn check_runtime_license_exceptions(
             if pkg.name == "fortanix-sgx-abi" && pkg.license.as_deref() == Some("MPL-2.0") {
                 continue;
             }
+
+            // This exception is due to the fact that the feature set of the
+            // `object` crate is different between rustc and libstd. In the
+            // standard library only a conservative set of features are enabled
+            // which notably does not include the `wasm` feature which pulls in
+            // this dependency. In the compiler, however, the `wasm` feature is
+            // enabled. This exception is intended to be here so long as the
+            // `EXCEPTIONS` above contains `wasmparser`, but once that goes away
+            // this can be removed.
+            if pkg.name == "wasmparser"
+                && pkg.license.as_deref() == Some("Apache-2.0 WITH LLVM-exception")
+            {
+                continue;
+            }
+
             tidy_error!(bad, "invalid license `{}` in `{}`", license, pkg.id);
         }
     }
diff --git a/src/tools/tidy/src/issues.txt b/src/tools/tidy/src/issues.txt
new file mode 100644
index 00000000000..81437473b2d
--- /dev/null
+++ b/src/tools/tidy/src/issues.txt
@@ -0,0 +1,4387 @@
+
+/*
+============================================================
+    ⚠️⚠️⚠️NOTHING SHOULD EVER BE ADDED TO THIS LIST⚠️⚠️⚠️
+============================================================
+*/
+[
+"ui/abi/issue-28676.rs",
+"ui/abi/issues/issue-22565-rust-call.rs",
+"ui/abi/issues/issue-62350-sysv-neg-reg-counts.rs",
+"ui/abi/issues/issue-97463-broken-abi-leaked-uninit-data.rs",
+"ui/argument-suggestions/issue-100154.rs",
+"ui/argument-suggestions/issue-100478.rs",
+"ui/argument-suggestions/issue-101097.rs",
+"ui/argument-suggestions/issue-109425.rs",
+"ui/argument-suggestions/issue-109831.rs",
+"ui/argument-suggestions/issue-112507.rs",
+"ui/argument-suggestions/issue-96638.rs",
+"ui/argument-suggestions/issue-97197.rs",
+"ui/argument-suggestions/issue-97484.rs",
+"ui/argument-suggestions/issue-98894.rs",
+"ui/argument-suggestions/issue-98897.rs",
+"ui/argument-suggestions/issue-99482.rs",
+"ui/array-slice-vec/issue-15730.rs",
+"ui/array-slice-vec/issue-18425.rs",
+"ui/array-slice-vec/issue-69103-extra-binding-subslice.rs",
+"ui/asm/issue-113788.rs",
+"ui/asm/issue-72570.rs",
+"ui/asm/issue-85247.rs",
+"ui/asm/issue-87802.rs",
+"ui/asm/issue-89305.rs",
+"ui/asm/issue-92378.rs",
+"ui/asm/issue-97490.rs",
+"ui/asm/issue-99071.rs",
+"ui/asm/issue-99122-2.rs",
+"ui/asm/issue-99122.rs",
+"ui/asm/x86_64/issue-82869.rs",
+"ui/asm/x86_64/issue-89875.rs",
+"ui/asm/x86_64/issue-96797.rs",
+"ui/associated-consts/issue-102335-const.rs",
+"ui/associated-consts/issue-105330.rs",
+"ui/associated-consts/issue-110933.rs",
+"ui/associated-consts/issue-24949-assoc-const-static-recursion-impl.rs",
+"ui/associated-consts/issue-24949-assoc-const-static-recursion-trait-default.rs",
+"ui/associated-consts/issue-24949-assoc-const-static-recursion-trait.rs",
+"ui/associated-consts/issue-47814.rs",
+"ui/associated-consts/issue-58022.rs",
+"ui/associated-consts/issue-63496.rs",
+"ui/associated-consts/issue-69020-assoc-const-arith-overflow.rs",
+"ui/associated-consts/issue-88599-ref-self.rs",
+"ui/associated-consts/issue-93775.rs",
+"ui/associated-consts/issue-93835.rs",
+"ui/associated-inherent-types/issue-104260.rs",
+"ui/associated-inherent-types/issue-109071.rs",
+"ui/associated-inherent-types/issue-109299-1.rs",
+"ui/associated-inherent-types/issue-109299.rs",
+"ui/associated-inherent-types/issue-109768.rs",
+"ui/associated-inherent-types/issue-109789.rs",
+"ui/associated-inherent-types/issue-109790.rs",
+"ui/associated-inherent-types/issue-111404-0.rs",
+"ui/associated-inherent-types/issue-111404-1.rs",
+"ui/associated-inherent-types/issue-111879-0.rs",
+"ui/associated-inherent-types/issue-111879-1.rs",
+"ui/associated-item/issue-105449.rs",
+"ui/associated-item/issue-48027.rs",
+"ui/associated-item/issue-87638.rs",
+"ui/associated-type-bounds/issue-102335-ty.rs",
+"ui/associated-type-bounds/issue-104916.rs",
+"ui/associated-type-bounds/issue-61752.rs",
+"ui/associated-type-bounds/issue-70292.rs",
+"ui/associated-type-bounds/issue-71443-1.rs",
+"ui/associated-type-bounds/issue-71443-2.rs",
+"ui/associated-type-bounds/issue-73818.rs",
+"ui/associated-type-bounds/issue-79949.rs",
+"ui/associated-type-bounds/issue-81193.rs",
+"ui/associated-type-bounds/issue-83017.rs",
+"ui/associated-type-bounds/issue-99828.rs",
+"ui/associated-type-bounds/return-type-notation/issue-120208-higher-ranked-const.rs",
+"ui/associated-types/issue-18655.rs",
+"ui/associated-types/issue-19081.rs",
+"ui/associated-types/issue-19883.rs",
+"ui/associated-types/issue-20005.rs",
+"ui/associated-types/issue-20825-2.rs",
+"ui/associated-types/issue-20825.rs",
+"ui/associated-types/issue-21363.rs",
+"ui/associated-types/issue-21726.rs",
+"ui/associated-types/issue-22037.rs",
+"ui/associated-types/issue-22066.rs",
+"ui/associated-types/issue-22560.rs",
+"ui/associated-types/issue-22828.rs",
+"ui/associated-types/issue-23208.rs",
+"ui/associated-types/issue-23595-1.rs",
+"ui/associated-types/issue-23595-2.rs",
+"ui/associated-types/issue-24159.rs",
+"ui/associated-types/issue-24204.rs",
+"ui/associated-types/issue-24338.rs",
+"ui/associated-types/issue-25339.rs",
+"ui/associated-types/issue-25700-1.rs",
+"ui/associated-types/issue-25700-2.rs",
+"ui/associated-types/issue-25700.rs",
+"ui/associated-types/issue-26681.rs",
+"ui/associated-types/issue-27675-unchecked-bounds.rs",
+"ui/associated-types/issue-27901.rs",
+"ui/associated-types/issue-28871.rs",
+"ui/associated-types/issue-31597.rs",
+"ui/associated-types/issue-32323.rs",
+"ui/associated-types/issue-32350.rs",
+"ui/associated-types/issue-36499.rs",
+"ui/associated-types/issue-37808.rs",
+"ui/associated-types/issue-37883.rs",
+"ui/associated-types/issue-38821.rs",
+"ui/associated-types/issue-38917.rs",
+"ui/associated-types/issue-39532.rs",
+"ui/associated-types/issue-40093.rs",
+"ui/associated-types/issue-41868.rs",
+"ui/associated-types/issue-43475.rs",
+"ui/associated-types/issue-43784-associated-type.rs",
+"ui/associated-types/issue-43924.rs",
+"ui/associated-types/issue-44153.rs",
+"ui/associated-types/issue-47139-1.rs",
+"ui/associated-types/issue-47139-2.rs",
+"ui/associated-types/issue-47385.rs",
+"ui/associated-types/issue-47814.rs",
+"ui/associated-types/issue-48010.rs",
+"ui/associated-types/issue-48551.rs",
+"ui/associated-types/issue-50301.rs",
+"ui/associated-types/issue-54108.rs",
+"ui/associated-types/issue-54182-1.rs",
+"ui/associated-types/issue-54182-2.rs",
+"ui/associated-types/issue-54467.rs",
+"ui/associated-types/issue-55846.rs",
+"ui/associated-types/issue-59324.rs",
+"ui/associated-types/issue-62200.rs",
+"ui/associated-types/issue-63591.rs",
+"ui/associated-types/issue-63593.rs",
+"ui/associated-types/issue-64848.rs",
+"ui/associated-types/issue-64855-2.rs",
+"ui/associated-types/issue-64855.rs",
+"ui/associated-types/issue-65774-1.rs",
+"ui/associated-types/issue-65774-2.rs",
+"ui/associated-types/issue-65934.rs",
+"ui/associated-types/issue-67684.rs",
+"ui/associated-types/issue-69398.rs",
+"ui/associated-types/issue-71113.rs",
+"ui/associated-types/issue-72806.rs",
+"ui/associated-types/issue-76179.rs",
+"ui/associated-types/issue-82079.rs",
+"ui/associated-types/issue-85103-layout-debug.rs",
+"ui/associated-types/issue-87261.rs",
+"ui/associated-types/issue-88856.rs",
+"ui/associated-types/issue-91069.rs",
+"ui/associated-types/issue-91231.rs",
+"ui/associated-types/issue-91234.rs",
+"ui/async-await/auxiliary/issue-107036.rs",
+"ui/async-await/auxiliary/issue-72470-lib.rs",
+"ui/async-await/in-trait/issue-102138.rs",
+"ui/async-await/in-trait/issue-102219.rs",
+"ui/async-await/in-trait/issue-102310.rs",
+"ui/async-await/in-trait/issue-104678.rs",
+"ui/async-await/issue-101715.rs",
+"ui/async-await/issue-105501.rs",
+"ui/async-await/issue-107036.rs",
+"ui/async-await/issue-108572.rs",
+"ui/async-await/issue-54239-private-type-triggers-lint.rs",
+"ui/async-await/issue-60709.rs",
+"ui/async-await/issue-61076.rs",
+"ui/async-await/issue-61452.rs",
+"ui/async-await/issue-61793.rs",
+"ui/async-await/issue-62658.rs",
+"ui/async-await/issue-63832-await-short-temporary-lifetime-1.rs",
+"ui/async-await/issue-63832-await-short-temporary-lifetime.rs",
+"ui/async-await/issue-64130-1-sync.rs",
+"ui/async-await/issue-64130-2-send.rs",
+"ui/async-await/issue-64130-3-other.rs",
+"ui/async-await/issue-64130-4-async-move.rs",
+"ui/async-await/issue-64130-non-send-future-diags.rs",
+"ui/async-await/issue-64391.rs",
+"ui/async-await/issue-65634-raw-ident-suggestion.rs",
+"ui/async-await/issue-66312.rs",
+"ui/async-await/issue-66387-if-without-else.rs",
+"ui/async-await/issue-67252-unnamed-future.rs",
+"ui/async-await/issue-67651.rs",
+"ui/async-await/issue-67765-async-diagnostic.rs",
+"ui/async-await/issue-68112.rs",
+"ui/async-await/issue-68523-start.rs",
+"ui/async-await/issue-68523.rs",
+"ui/async-await/issue-69446-fnmut-capture.rs",
+"ui/async-await/issue-70594.rs",
+"ui/async-await/issue-70818.rs",
+"ui/async-await/issue-70935-complex-spans.rs",
+"ui/async-await/issue-71137.rs",
+"ui/async-await/issue-72442.rs",
+"ui/async-await/issue-72470-llvm-dominate.rs",
+"ui/async-await/issue-72590-type-error-sized.rs",
+"ui/async-await/issue-73050.rs",
+"ui/async-await/issue-73137.rs",
+"ui/async-await/issue-73541-1.rs",
+"ui/async-await/issue-73541-2.rs",
+"ui/async-await/issue-73541-3.rs",
+"ui/async-await/issue-73541.rs",
+"ui/async-await/issue-73741-type-err.rs",
+"ui/async-await/issue-74047.rs",
+"ui/async-await/issue-74072-lifetime-name-annotations.rs",
+"ui/async-await/issue-74497-lifetime-in-opaque.rs",
+"ui/async-await/issue-75785-confusing-named-region.rs",
+"ui/async-await/issue-76547.rs",
+"ui/async-await/issue-77993-2.rs",
+"ui/async-await/issue-78115.rs",
+"ui/async-await/issue-84841.rs",
+"ui/async-await/issue-86507.rs",
+"ui/async-await/issue-93197.rs",
+"ui/async-await/issue-93648.rs",
+"ui/async-await/issue-98634.rs",
+"ui/async-await/issues/auxiliary/issue-60674.rs",
+"ui/async-await/issues/auxiliary/issue_67893.rs",
+"ui/async-await/issues/issue-102206.rs",
+"ui/async-await/issues/issue-107280.rs",
+"ui/async-await/issues/issue-112225-1.rs",
+"ui/async-await/issues/issue-112225-2.rs",
+"ui/async-await/issues/issue-51719.rs",
+"ui/async-await/issues/issue-51751.rs",
+"ui/async-await/issues/issue-53249.rs",
+"ui/async-await/issues/issue-54752-async-block.rs",
+"ui/async-await/issues/issue-54974.rs",
+"ui/async-await/issues/issue-55324.rs",
+"ui/async-await/issues/issue-55809.rs",
+"ui/async-await/issues/issue-58885.rs",
+"ui/async-await/issues/issue-59001.rs",
+"ui/async-await/issues/issue-59972.rs",
+"ui/async-await/issues/issue-60518.rs",
+"ui/async-await/issues/issue-60655-latebound-regions.rs",
+"ui/async-await/issues/issue-60674.rs",
+"ui/async-await/issues/issue-61187.rs",
+"ui/async-await/issues/issue-61986.rs",
+"ui/async-await/issues/issue-62009-1.rs",
+"ui/async-await/issues/issue-62009-2.rs",
+"ui/async-await/issues/issue-62097.rs",
+"ui/async-await/issues/issue-62517-1.rs",
+"ui/async-await/issues/issue-62517-2.rs",
+"ui/async-await/issues/issue-63388-1.rs",
+"ui/async-await/issues/issue-63388-2.rs",
+"ui/async-await/issues/issue-63388-3.rs",
+"ui/async-await/issues/issue-63388-4.rs",
+"ui/async-await/issues/issue-64391-2.rs",
+"ui/async-await/issues/issue-64433.rs",
+"ui/async-await/issues/issue-64477-2.rs",
+"ui/async-await/issues/issue-64477.rs",
+"ui/async-await/issues/issue-64964.rs",
+"ui/async-await/issues/issue-65159.rs",
+"ui/async-await/issues/issue-65419/issue-65419-async-fn-resume-after-completion.rs",
+"ui/async-await/issues/issue-65419/issue-65419-async-fn-resume-after-panic.rs",
+"ui/async-await/issues/issue-65419/issue-65419-coroutine-resume-after-completion.rs",
+"ui/async-await/issues/issue-65436-raw-ptr-not-send.rs",
+"ui/async-await/issues/issue-66695-static-refs.rs",
+"ui/async-await/issues/issue-66958-non-copy-infered-type-arg.rs",
+"ui/async-await/issues/issue-67611-static-mut-refs.rs",
+"ui/async-await/issues/issue-67893.rs",
+"ui/async-await/issues/issue-69307-nested.rs",
+"ui/async-await/issues/issue-69307.rs",
+"ui/async-await/issues/issue-72312.rs",
+"ui/async-await/issues/issue-78600.rs",
+"ui/async-await/issues/issue-78654.rs",
+"ui/async-await/issues/issue-78938-async-block.rs",
+"ui/async-await/issues/issue-95307.rs",
+"ui/async-await/return-type-notation/issue-110963-early.rs",
+"ui/async-await/return-type-notation/issue-110963-late.rs",
+"ui/async-await/track-caller/issue-105134.rs",
+"ui/attributes/issue-100631.rs",
+"ui/attributes/issue-105594-invalid-attr-validation.rs",
+"ui/attributes/issue-115264-expr-field.rs",
+"ui/attributes/issue-115264-pat-field.rs",
+"ui/attributes/issue-40962.rs",
+"ui/attributes/issue-90873.rs",
+"ui/auto-traits/issue-117789.rs",
+"ui/auto-traits/issue-23080-2.rs",
+"ui/auto-traits/issue-23080.rs",
+"ui/auto-traits/issue-83857-ub.rs",
+"ui/auto-traits/issue-84075.rs",
+"ui/auxiliary/issue-13560-1.rs",
+"ui/auxiliary/issue-13560-2.rs",
+"ui/auxiliary/issue-13560-3.rs",
+"ui/auxiliary/issue-16822.rs",
+"ui/auxiliary/issue-18502.rs",
+"ui/auxiliary/issue-24106.rs",
+"ui/auxiliary/issue-76387.rs",
+"ui/bench/issue-32062.rs",
+"ui/binding/issue-53114-borrow-checks.rs",
+"ui/binding/issue-53114-safety-checks.rs",
+"ui/binop/issue-25916.rs",
+"ui/binop/issue-28837.rs",
+"ui/binop/issue-3820.rs",
+"ui/binop/issue-62375.rs",
+"ui/binop/issue-77910-1.rs",
+"ui/binop/issue-77910-2.rs",
+"ui/binop/issue-93927.rs",
+"ui/block-result/issue-11714.rs",
+"ui/block-result/issue-13428.rs",
+"ui/block-result/issue-13624.rs",
+"ui/block-result/issue-20862.rs",
+"ui/block-result/issue-22645.rs",
+"ui/block-result/issue-3563.rs",
+"ui/block-result/issue-5500.rs",
+"ui/borrowck/issue-101119.rs",
+"ui/borrowck/issue-102209.rs",
+"ui/borrowck/issue-103095.rs",
+"ui/borrowck/issue-103250.rs",
+"ui/borrowck/issue-103624.rs",
+"ui/borrowck/issue-104639-lifetime-order.rs",
+"ui/borrowck/issue-10876.rs",
+"ui/borrowck/issue-109271-pass-self-into-closure.rs",
+"ui/borrowck/issue-111554.rs",
+"ui/borrowck/issue-114374-invalid-help-fmt-args.rs",
+"ui/borrowck/issue-11493.rs",
+"ui/borrowck/issue-115259-suggest-iter-mut.rs",
+"ui/borrowck/issue-119915-bad-clone-suggestion.rs",
+"ui/borrowck/issue-17263.rs",
+"ui/borrowck/issue-17545.rs",
+"ui/borrowck/issue-17718-static-move.rs",
+"ui/borrowck/issue-20801.rs",
+"ui/borrowck/issue-23338-params-outlive-temps-of-body.rs",
+"ui/borrowck/issue-24267-flow-exit.rs",
+"ui/borrowck/issue-25793.rs",
+"ui/borrowck/issue-28934.rs",
+"ui/borrowck/issue-29166.rs",
+"ui/borrowck/issue-31287-drop-in-guard.rs",
+"ui/borrowck/issue-33819.rs",
+"ui/borrowck/issue-36082.rs",
+"ui/borrowck/issue-41962.rs",
+"ui/borrowck/issue-42344.rs",
+"ui/borrowck/issue-45199.rs",
+"ui/borrowck/issue-45983.rs",
+"ui/borrowck/issue-46095.rs",
+"ui/borrowck/issue-46471.rs",
+"ui/borrowck/issue-47215-ice-from-drop-elab.rs",
+"ui/borrowck/issue-47646.rs",
+"ui/borrowck/issue-51117.rs",
+"ui/borrowck/issue-51301.rs",
+"ui/borrowck/issue-51348-multi-ref-mut-in-guard.rs",
+"ui/borrowck/issue-51415.rs",
+"ui/borrowck/issue-52713-bug.rs",
+"ui/borrowck/issue-52967-edition-2018-needs-two-phase-borrows.rs",
+"ui/borrowck/issue-53432-nested-closure-outlives-borrowed-value.rs",
+"ui/borrowck/issue-54499-field-mutation-marks-mut-as-used.rs",
+"ui/borrowck/issue-54499-field-mutation-of-moved-out-with-mut.rs",
+"ui/borrowck/issue-54499-field-mutation-of-moved-out.rs",
+"ui/borrowck/issue-54499-field-mutation-of-never-init.rs",
+"ui/borrowck/issue-54597-reject-move-out-of-borrow-via-pat.rs",
+"ui/borrowck/issue-55492-borrowck-migrate-scans-parents.rs",
+"ui/borrowck/issue-55552-ascribe-wildcard-to-structured-pattern.rs",
+"ui/borrowck/issue-58776-borrowck-scans-children.rs",
+"ui/borrowck/issue-62007-assign-box.rs",
+"ui/borrowck/issue-62007-assign-field.rs",
+"ui/borrowck/issue-62107-match-arm-scopes.rs",
+"ui/borrowck/issue-62387-suggest-iter-mut-2.rs",
+"ui/borrowck/issue-62387-suggest-iter-mut.rs",
+"ui/borrowck/issue-64453.rs",
+"ui/borrowck/issue-69789-iterator-mut-suggestion.rs",
+"ui/borrowck/issue-70919-drop-in-loop.rs",
+"ui/borrowck/issue-71546.rs",
+"ui/borrowck/issue-7573.rs",
+"ui/borrowck/issue-80772.rs",
+"ui/borrowck/issue-81365-1.rs",
+"ui/borrowck/issue-81365-10.rs",
+"ui/borrowck/issue-81365-11.rs",
+"ui/borrowck/issue-81365-2.rs",
+"ui/borrowck/issue-81365-3.rs",
+"ui/borrowck/issue-81365-4.rs",
+"ui/borrowck/issue-81365-5.rs",
+"ui/borrowck/issue-81365-6.rs",
+"ui/borrowck/issue-81365-7.rs",
+"ui/borrowck/issue-81365-8.rs",
+"ui/borrowck/issue-81365-9.rs",
+"ui/borrowck/issue-81899.rs",
+"ui/borrowck/issue-82032.rs",
+"ui/borrowck/issue-82126-mismatched-subst-and-hir.rs",
+"ui/borrowck/issue-82462.rs",
+"ui/borrowck/issue-83309-ice-immut-in-for-loop.rs",
+"ui/borrowck/issue-83760.rs",
+"ui/borrowck/issue-83924.rs",
+"ui/borrowck/issue-85581.rs",
+"ui/borrowck/issue-85765-closure.rs",
+"ui/borrowck/issue-85765.rs",
+"ui/borrowck/issue-87456-point-to-closure.rs",
+"ui/borrowck/issue-88434-minimal-example.rs",
+"ui/borrowck/issue-88434-removal-index-should-be-less.rs",
+"ui/borrowck/issue-91206.rs",
+"ui/borrowck/issue-92015.rs",
+"ui/borrowck/issue-92157.rs",
+"ui/borrowck/issue-93078.rs",
+"ui/borrowck/issue-93093.rs",
+"ui/borrowck/issue-95079-missing-move-in-nested-closure.rs",
+"ui/box/issue-82446.rs",
+"ui/box/issue-95036.rs",
+"ui/c-variadic/issue-32201.rs",
+"ui/c-variadic/issue-86053-1.rs",
+"ui/c-variadic/issue-86053-2.rs",
+"ui/cast/issue-106883-is-empty.rs",
+"ui/cast/issue-10991.rs",
+"ui/cast/issue-17444.rs",
+"ui/cast/issue-84213.rs",
+"ui/cast/issue-85586.rs",
+"ui/cast/issue-88621.rs",
+"ui/cast/issue-89497.rs",
+"ui/closure-expected-type/issue-24421.rs",
+"ui/closure_context/issue-26046-fn-mut.rs",
+"ui/closure_context/issue-26046-fn-once.rs",
+"ui/closure_context/issue-42065.rs",
+"ui/closures/2229_closure_analysis/issue-118144.rs",
+"ui/closures/2229_closure_analysis/issue-87378.rs",
+"ui/closures/2229_closure_analysis/issue-87987.rs",
+"ui/closures/2229_closure_analysis/issue-88118-2.rs",
+"ui/closures/2229_closure_analysis/issue-88476.rs",
+"ui/closures/2229_closure_analysis/issue-89606.rs",
+"ui/closures/2229_closure_analysis/issue-90465.rs",
+"ui/closures/2229_closure_analysis/issue-92724-needsdrop-query-cycle.rs",
+"ui/closures/2229_closure_analysis/issue_88118.rs",
+"ui/closures/2229_closure_analysis/match/issue-87097.rs",
+"ui/closures/2229_closure_analysis/match/issue-87426.rs",
+"ui/closures/2229_closure_analysis/match/issue-87988.rs",
+"ui/closures/2229_closure_analysis/match/issue-88331.rs",
+"ui/closures/2229_closure_analysis/migrations/issue-78720.rs",
+"ui/closures/2229_closure_analysis/migrations/issue-86753.rs",
+"ui/closures/2229_closure_analysis/migrations/issue-90024-adt-correct-subst.rs",
+"ui/closures/2229_closure_analysis/run_pass/issue-87378.rs",
+"ui/closures/2229_closure_analysis/run_pass/issue-88372.rs",
+"ui/closures/2229_closure_analysis/run_pass/issue-88431.rs",
+"ui/closures/2229_closure_analysis/run_pass/issue-88476.rs",
+"ui/closures/issue-101696.rs",
+"ui/closures/issue-102089-multiple-opaque-cast.rs",
+"ui/closures/issue-10398.rs",
+"ui/closures/issue-10682.rs",
+"ui/closures/issue-109188.rs",
+"ui/closures/issue-111932.rs",
+"ui/closures/issue-113087.rs",
+"ui/closures/issue-11873.rs",
+"ui/closures/issue-23012-supertrait-signature-inference.rs",
+"ui/closures/issue-25439.rs",
+"ui/closures/issue-41366.rs",
+"ui/closures/issue-42463.rs",
+"ui/closures/issue-46742.rs",
+"ui/closures/issue-48109.rs",
+"ui/closures/issue-52437.rs",
+"ui/closures/issue-67123.rs",
+"ui/closures/issue-6801.rs",
+"ui/closures/issue-68025.rs",
+"ui/closures/issue-72408-nested-closures-exponential.rs",
+"ui/closures/issue-78720.rs",
+"ui/closures/issue-80313-mutable-borrow-in-closure.rs",
+"ui/closures/issue-80313-mutable-borrow-in-move-closure.rs",
+"ui/closures/issue-80313-mutation-in-closure.rs",
+"ui/closures/issue-80313-mutation-in-move-closure.rs",
+"ui/closures/issue-81700-mut-borrow.rs",
+"ui/closures/issue-82438-mut-without-upvar.rs",
+"ui/closures/issue-84044-drop-non-mut.rs",
+"ui/closures/issue-84128.rs",
+"ui/closures/issue-868.rs",
+"ui/closures/issue-87461.rs",
+"ui/closures/issue-87814-1.rs",
+"ui/closures/issue-87814-2.rs",
+"ui/closures/issue-90871.rs",
+"ui/closures/issue-97607.rs",
+"ui/closures/issue-99565.rs",
+"ui/cmse-nonsecure/cmse-nonsecure-entry/issue-83475.rs",
+"ui/codegen/auxiliary/issue-97708-aux.rs",
+"ui/codegen/issue-101585-128bit-repeat.rs",
+"ui/codegen/issue-16602-1.rs",
+"ui/codegen/issue-16602-2.rs",
+"ui/codegen/issue-16602-3.rs",
+"ui/codegen/issue-28950.rs",
+"ui/codegen/issue-55976.rs",
+"ui/codegen/issue-63787.rs",
+"ui/codegen/issue-64401.rs",
+"ui/codegen/issue-79865-llvm-miscompile.rs",
+"ui/codegen/issue-82833-slice-miscompile.rs",
+"ui/codegen/issue-82859-slice-miscompile.rs",
+"ui/codegen/issue-88043-bb-does-not-have-terminator.rs",
+"ui/codegen/issue-97708.rs",
+"ui/codegen/issue-99551.rs",
+"ui/codemap_tests/issue-11715.rs",
+"ui/codemap_tests/issue-28308.rs",
+"ui/coercion/auxiliary/issue-39823.rs",
+"ui/coercion/issue-101066.rs",
+"ui/coercion/issue-14589.rs",
+"ui/coercion/issue-26905-rpass.rs",
+"ui/coercion/issue-26905.rs",
+"ui/coercion/issue-36007.rs",
+"ui/coercion/issue-37655.rs",
+"ui/coercion/issue-3794.rs",
+"ui/coercion/issue-39823.rs",
+"ui/coercion/issue-53475.rs",
+"ui/coercion/issue-73886.rs",
+"ui/coercion/issue-88097.rs",
+"ui/coherence/issue-85026.rs",
+"ui/coherence/issue-99663-2.rs",
+"ui/coherence/issue-99663.rs",
+"ui/command/issue-10626.rs",
+"ui/compare-method/issue-90444.rs",
+"ui/conditional-compilation/issue-34028.rs",
+"ui/confuse-field-and-method/issue-18343.rs",
+"ui/confuse-field-and-method/issue-2392.rs",
+"ui/confuse-field-and-method/issue-32128.rs",
+"ui/confuse-field-and-method/issue-33784.rs",
+"ui/const-generics/generic_arg_infer/issue-91614.rs",
+"ui/const-generics/generic_const_exprs/auxiliary/issue-94287-aux.rs",
+"ui/const-generics/generic_const_exprs/const_kind_expr/issue_114151.rs",
+"ui/const-generics/generic_const_exprs/issue-100217.rs",
+"ui/const-generics/generic_const_exprs/issue-100360.rs",
+"ui/const-generics/generic_const_exprs/issue-102074.rs",
+"ui/const-generics/generic_const_exprs/issue-102768.rs",
+"ui/const-generics/generic_const_exprs/issue-105257.rs",
+"ui/const-generics/generic_const_exprs/issue-105608.rs",
+"ui/const-generics/generic_const_exprs/issue-109141.rs",
+"ui/const-generics/generic_const_exprs/issue-62504.rs",
+"ui/const-generics/generic_const_exprs/issue-69654.rs",
+"ui/const-generics/generic_const_exprs/issue-72787.rs",
+"ui/const-generics/generic_const_exprs/issue-72819-generic-in-const-eval.rs",
+"ui/const-generics/generic_const_exprs/issue-73298.rs",
+"ui/const-generics/generic_const_exprs/issue-73899.rs",
+"ui/const-generics/generic_const_exprs/issue-74634.rs",
+"ui/const-generics/generic_const_exprs/issue-74713.rs",
+"ui/const-generics/generic_const_exprs/issue-76595.rs",
+"ui/const-generics/generic_const_exprs/issue-79518-default_trait_method_normalization.rs",
+"ui/const-generics/generic_const_exprs/issue-80561-incorrect-param-env.rs",
+"ui/const-generics/generic_const_exprs/issue-80742.rs",
+"ui/const-generics/generic_const_exprs/issue-82268.rs",
+"ui/const-generics/generic_const_exprs/issue-83765.rs",
+"ui/const-generics/generic_const_exprs/issue-83972.rs",
+"ui/const-generics/generic_const_exprs/issue-84408.rs",
+"ui/const-generics/generic_const_exprs/issue-84669.rs",
+"ui/const-generics/generic_const_exprs/issue-85848.rs",
+"ui/const-generics/generic_const_exprs/issue-86710.rs",
+"ui/const-generics/generic_const_exprs/issue-89851.rs",
+"ui/const-generics/generic_const_exprs/issue-90847.rs",
+"ui/const-generics/generic_const_exprs/issue-94287.rs",
+"ui/const-generics/generic_const_exprs/issue-94293.rs",
+"ui/const-generics/generic_const_exprs/issue-96699.rs",
+"ui/const-generics/generic_const_exprs/issue-97047-ice-1.rs",
+"ui/const-generics/generic_const_exprs/issue-97047-ice-2.rs",
+"ui/const-generics/generic_const_exprs/issue-99647.rs",
+"ui/const-generics/generic_const_exprs/issue-99705.rs",
+"ui/const-generics/infer/issue-77092.rs",
+"ui/const-generics/issue-102124.rs",
+"ui/const-generics/issue-105689.rs",
+"ui/const-generics/issue-106419-struct-with-multiple-const-params.rs",
+"ui/const-generics/issue-112505-overflow.rs",
+"ui/const-generics/issue-46511.rs",
+"ui/const-generics/issue-66451.rs",
+"ui/const-generics/issue-70408.rs",
+"ui/const-generics/issue-80471.rs",
+"ui/const-generics/issue-93647.rs",
+"ui/const-generics/issue-97007.rs",
+"ui/const-generics/issues/issue-100313.rs",
+"ui/const-generics/issues/issue-105037.rs",
+"ui/const-generics/issues/issue-105821.rs",
+"ui/const-generics/issues/issue-56445-1.rs",
+"ui/const-generics/issues/issue-56445-2.rs",
+"ui/const-generics/issues/issue-56445-3.rs",
+"ui/const-generics/issues/issue-60818-struct-constructors.rs",
+"ui/const-generics/issues/issue-61336-1.rs",
+"ui/const-generics/issues/issue-61336-2.rs",
+"ui/const-generics/issues/issue-61336.rs",
+"ui/const-generics/issues/issue-61422.rs",
+"ui/const-generics/issues/issue-61432.rs",
+"ui/const-generics/issues/issue-62187-encountered-polymorphic-const.rs",
+"ui/const-generics/issues/issue-62878.rs",
+"ui/const-generics/issues/issue-63322-forbid-dyn.rs",
+"ui/const-generics/issues/issue-64519.rs",
+"ui/const-generics/issues/issue-66596-impl-trait-for-str-const-arg.rs",
+"ui/const-generics/issues/issue-66906.rs",
+"ui/const-generics/issues/issue-67185-1.rs",
+"ui/const-generics/issues/issue-67185-2.rs",
+"ui/const-generics/issues/issue-67375.rs",
+"ui/const-generics/issues/issue-67739.rs",
+"ui/const-generics/issues/issue-67945-1.rs",
+"ui/const-generics/issues/issue-67945-2.rs",
+"ui/const-generics/issues/issue-67945-3.rs",
+"ui/const-generics/issues/issue-67945-4.rs",
+"ui/const-generics/issues/issue-68104-print-stack-overflow.rs",
+"ui/const-generics/issues/issue-68366.rs",
+"ui/const-generics/issues/issue-68596.rs",
+"ui/const-generics/issues/issue-68615-adt.rs",
+"ui/const-generics/issues/issue-68615-array.rs",
+"ui/const-generics/issues/issue-69654-run-pass.rs",
+"ui/const-generics/issues/issue-70125-1.rs",
+"ui/const-generics/issues/issue-70125-2.rs",
+"ui/const-generics/issues/issue-70167.rs",
+"ui/const-generics/issues/issue-70180-1-stalled_on.rs",
+"ui/const-generics/issues/issue-70180-2-stalled_on.rs",
+"ui/const-generics/issues/issue-70225.rs",
+"ui/const-generics/issues/issue-70273-assoc-fn.rs",
+"ui/const-generics/issues/issue-71169.rs",
+"ui/const-generics/issues/issue-71202.rs",
+"ui/const-generics/issues/issue-71381.rs",
+"ui/const-generics/issues/issue-71382.rs",
+"ui/const-generics/issues/issue-71547.rs",
+"ui/const-generics/issues/issue-71611.rs",
+"ui/const-generics/issues/issue-71986.rs",
+"ui/const-generics/issues/issue-72352.rs",
+"ui/const-generics/issues/issue-72845.rs",
+"ui/const-generics/issues/issue-73120.rs",
+"ui/const-generics/issues/issue-73260.rs",
+"ui/const-generics/issues/issue-73491.rs",
+"ui/const-generics/issues/issue-73727-static-reference-array-const-param.rs",
+"ui/const-generics/issues/issue-74101.rs",
+"ui/const-generics/issues/issue-74255.rs",
+"ui/const-generics/issues/issue-74906.rs",
+"ui/const-generics/issues/issue-74950.rs",
+"ui/const-generics/issues/issue-75047.rs",
+"ui/const-generics/issues/issue-75299.rs",
+"ui/const-generics/issues/issue-76701-ty-param-in-const.rs",
+"ui/const-generics/issues/issue-79674.rs",
+"ui/const-generics/issues/issue-80062.rs",
+"ui/const-generics/issues/issue-80375.rs",
+"ui/const-generics/issues/issue-82956.rs",
+"ui/const-generics/issues/issue-83249.rs",
+"ui/const-generics/issues/issue-83288.rs",
+"ui/const-generics/issues/issue-83466.rs",
+"ui/const-generics/issues/issue-83765.rs",
+"ui/const-generics/issues/issue-84659.rs",
+"ui/const-generics/issues/issue-85031-2.rs",
+"ui/const-generics/issues/issue-86033.rs",
+"ui/const-generics/issues/issue-86530.rs",
+"ui/const-generics/issues/issue-86535-2.rs",
+"ui/const-generics/issues/issue-86535.rs",
+"ui/const-generics/issues/issue-86820.rs",
+"ui/const-generics/issues/issue-87076.rs",
+"ui/const-generics/issues/issue-87470.rs",
+"ui/const-generics/issues/issue-87493.rs",
+"ui/const-generics/issues/issue-87964.rs",
+"ui/const-generics/issues/issue-88119.rs",
+"ui/const-generics/issues/issue-88468.rs",
+"ui/const-generics/issues/issue-88997.rs",
+"ui/const-generics/issues/issue-89146.rs",
+"ui/const-generics/issues/issue-89304.rs",
+"ui/const-generics/issues/issue-89320.rs",
+"ui/const-generics/issues/issue-89334.rs",
+"ui/const-generics/issues/issue-90318.rs",
+"ui/const-generics/issues/issue-90364.rs",
+"ui/const-generics/issues/issue-90455.rs",
+"ui/const-generics/issues/issue-92186.rs",
+"ui/const-generics/issues/issue-96654.rs",
+"ui/const-generics/issues/issue-97278.rs",
+"ui/const-generics/issues/issue-97634.rs",
+"ui/const-generics/issues/issue-98629.rs",
+"ui/const-generics/issues/issue-99641.rs",
+"ui/const-generics/parser-error-recovery/issue-89013-no-assoc.rs",
+"ui/const-generics/parser-error-recovery/issue-89013-no-kw.rs",
+"ui/const-generics/parser-error-recovery/issue-89013-type.rs",
+"ui/const-generics/parser-error-recovery/issue-89013.rs",
+"ui/const-generics/type-dependent/issue-61936.rs",
+"ui/const-generics/type-dependent/issue-63695.rs",
+"ui/const-generics/type-dependent/issue-67144-1.rs",
+"ui/const-generics/type-dependent/issue-67144-2.rs",
+"ui/const-generics/type-dependent/issue-69816.rs",
+"ui/const-generics/type-dependent/issue-70217.rs",
+"ui/const-generics/type-dependent/issue-70507.rs",
+"ui/const-generics/type-dependent/issue-70586.rs",
+"ui/const-generics/type-dependent/issue-71348.rs",
+"ui/const-generics/type-dependent/issue-71382.rs",
+"ui/const-generics/type-dependent/issue-71805.rs",
+"ui/const-generics/type-dependent/issue-73730.rs",
+"ui/const_prop/issue-102553.rs",
+"ui/const_prop/issue-86351.rs",
+"ui/consts/auxiliary/issue-17718-aux.rs",
+"ui/consts/auxiliary/issue-63226.rs",
+"ui/consts/const-eval/issue-100878.rs",
+"ui/consts/const-eval/issue-104390.rs",
+"ui/consts/const-eval/issue-114994-fail.rs",
+"ui/consts/const-eval/issue-114994.rs",
+"ui/consts/const-eval/issue-43197.rs",
+"ui/consts/const-eval/issue-44578.rs",
+"ui/consts/const-eval/issue-47971.rs",
+"ui/consts/const-eval/issue-49296.rs",
+"ui/consts/const-eval/issue-50706.rs",
+"ui/consts/const-eval/issue-50814-2.rs",
+"ui/consts/const-eval/issue-50814.rs",
+"ui/consts/const-eval/issue-51300.rs",
+"ui/consts/const-eval/issue-52475.rs",
+"ui/consts/const-eval/issue-53157.rs",
+"ui/consts/const-eval/issue-53401.rs",
+"ui/consts/const-eval/issue-55541.rs",
+"ui/consts/const-eval/issue-64908.rs",
+"ui/consts/const-eval/issue-64970.rs",
+"ui/consts/const-eval/issue-65394.rs",
+"ui/consts/const-eval/issue-70723.rs",
+"ui/consts/const-eval/issue-70804-fn-subtyping.rs",
+"ui/consts/const-eval/issue-84957-const-str-as-bytes.rs",
+"ui/consts/const-eval/issue-85155.rs",
+"ui/consts/const-eval/issue-85907.rs",
+"ui/consts/const-eval/issue-91827-extern-types-field-offset.rs",
+"ui/consts/const-extern-fn/issue-68062-const-extern-fns-dont-need-fn-specifier-2.rs",
+"ui/consts/const-extern-fn/issue-68062-const-extern-fns-dont-need-fn-specifier.rs",
+"ui/consts/const-mut-refs/issue-76510.rs",
+"ui/consts/const_in_pattern/issue-34784-match-on-non-int-raw-ptr.rs",
+"ui/consts/const_in_pattern/issue-44333.rs",
+"ui/consts/const_in_pattern/issue-53708.rs",
+"ui/consts/const_in_pattern/issue-62614.rs",
+"ui/consts/const_in_pattern/issue-65466.rs",
+"ui/consts/const_in_pattern/issue-73431.rs",
+"ui/consts/control-flow/issue-46843.rs",
+"ui/consts/control-flow/issue-50577.rs",
+"ui/consts/extra-const-ub/issue-100771.rs",
+"ui/consts/extra-const-ub/issue-101034.rs",
+"ui/consts/issue-102117.rs",
+"ui/consts/issue-103790.rs",
+"ui/consts/issue-104155.rs",
+"ui/consts/issue-104396.rs",
+"ui/consts/issue-104609.rs",
+"ui/consts/issue-104768.rs",
+"ui/consts/issue-105536-const-val-roundtrip-ptr-eq.rs",
+"ui/consts/issue-116186.rs",
+"ui/consts/issue-13837.rs",
+"ui/consts/issue-13902.rs",
+"ui/consts/issue-16538.rs",
+"ui/consts/issue-17074.rs",
+"ui/consts/issue-17458.rs",
+"ui/consts/issue-17718-borrow-interior.rs",
+"ui/consts/issue-17718-const-bad-values.rs",
+"ui/consts/issue-17718-const-borrow.rs",
+"ui/consts/issue-17718-constants-not-static.rs",
+"ui/consts/issue-17718-references.rs",
+"ui/consts/issue-17718.rs",
+"ui/consts/issue-17756.rs",
+"ui/consts/issue-18294.rs",
+"ui/consts/issue-19244.rs",
+"ui/consts/issue-21562.rs",
+"ui/consts/issue-21721.rs",
+"ui/consts/issue-23833.rs",
+"ui/consts/issue-23968-const-not-overflow.rs",
+"ui/consts/issue-25826.rs",
+"ui/consts/issue-27890.rs",
+"ui/consts/issue-28113.rs",
+"ui/consts/issue-28822.rs",
+"ui/consts/issue-29798.rs",
+"ui/consts/issue-29914-2.rs",
+"ui/consts/issue-29914-3.rs",
+"ui/consts/issue-29914.rs",
+"ui/consts/issue-29927-1.rs",
+"ui/consts/issue-29927.rs",
+"ui/consts/issue-32829-2.rs",
+"ui/consts/issue-32829.rs",
+"ui/consts/issue-33537.rs",
+"ui/consts/issue-33903.rs",
+"ui/consts/issue-3521.rs",
+"ui/consts/issue-36163.rs",
+"ui/consts/issue-37222.rs",
+"ui/consts/issue-37550-1.rs",
+"ui/consts/issue-37550.rs",
+"ui/consts/issue-37991.rs",
+"ui/consts/issue-39161-bogus-error.rs",
+"ui/consts/issue-39974.rs",
+"ui/consts/issue-43105.rs",
+"ui/consts/issue-44255.rs",
+"ui/consts/issue-44415.rs",
+"ui/consts/issue-46553.rs",
+"ui/consts/issue-47789.rs",
+"ui/consts/issue-50439.rs",
+"ui/consts/issue-52023-array-size-pointer-cast.rs",
+"ui/consts/issue-52060.rs",
+"ui/consts/issue-54224.rs",
+"ui/consts/issue-54348.rs",
+"ui/consts/issue-54387.rs",
+"ui/consts/issue-54582.rs",
+"ui/consts/issue-54954.rs",
+"ui/consts/issue-56164.rs",
+"ui/consts/issue-58435-ice-with-assoc-const.rs",
+"ui/consts/issue-62045.rs",
+"ui/consts/issue-63226.rs",
+"ui/consts/issue-63952.rs",
+"ui/consts/issue-64059.rs",
+"ui/consts/issue-64506.rs",
+"ui/consts/issue-64662.rs",
+"ui/consts/issue-65348.rs",
+"ui/consts/issue-66342.rs",
+"ui/consts/issue-66345.rs",
+"ui/consts/issue-66397.rs",
+"ui/consts/issue-66693-panic-in-array-len.rs",
+"ui/consts/issue-66693.rs",
+"ui/consts/issue-66787.rs",
+"ui/consts/issue-67529.rs",
+"ui/consts/issue-67640.rs",
+"ui/consts/issue-67641.rs",
+"ui/consts/issue-67696-const-prop-ice.rs",
+"ui/consts/issue-67862.rs",
+"ui/consts/issue-68264-overflow.rs",
+"ui/consts/issue-68542-closure-in-array-len.rs",
+"ui/consts/issue-68684.rs",
+"ui/consts/issue-69191-ice-on-uninhabited-enum-field.rs",
+"ui/consts/issue-69310-array-size-lit-wrong-ty.rs",
+"ui/consts/issue-69312.rs",
+"ui/consts/issue-69488.rs",
+"ui/consts/issue-69532.rs",
+"ui/consts/issue-6991.rs",
+"ui/consts/issue-70773-mir-typeck-lt-norm.rs",
+"ui/consts/issue-70942-trait-vs-impl-mismatch.rs",
+"ui/consts/issue-73976-monomorphic.rs",
+"ui/consts/issue-73976-polymorphic.rs",
+"ui/consts/issue-76064.rs",
+"ui/consts/issue-77062-large-zst-array.rs",
+"ui/consts/issue-78655.rs",
+"ui/consts/issue-79137-monomorphic.rs",
+"ui/consts/issue-79137-toogeneric.rs",
+"ui/consts/issue-79152-const-array-index.rs",
+"ui/consts/issue-79690.rs",
+"ui/consts/issue-87046.rs",
+"ui/consts/issue-88071.rs",
+"ui/consts/issue-88649.rs",
+"ui/consts/issue-89088.rs",
+"ui/consts/issue-90762.rs",
+"ui/consts/issue-90870.rs",
+"ui/consts/issue-90878-2.rs",
+"ui/consts/issue-90878-3.rs",
+"ui/consts/issue-90878.rs",
+"ui/consts/issue-91434.rs",
+"ui/consts/issue-91560.rs",
+"ui/consts/issue-94371.rs",
+"ui/consts/issue-94675.rs",
+"ui/consts/issue-96169.rs",
+"ui/coroutine/issue-102645.rs",
+"ui/coroutine/issue-105084.rs",
+"ui/coroutine/issue-110929-coroutine-conflict-error-ice.rs",
+"ui/coroutine/issue-113279.rs",
+"ui/coroutine/issue-44197.rs",
+"ui/coroutine/issue-45729-unsafe-in-coroutine.rs",
+"ui/coroutine/issue-48048.rs",
+"ui/coroutine/issue-52304.rs",
+"ui/coroutine/issue-52398.rs",
+"ui/coroutine/issue-53548-1.rs",
+"ui/coroutine/issue-53548.rs",
+"ui/coroutine/issue-57017.rs",
+"ui/coroutine/issue-57084.rs",
+"ui/coroutine/issue-57478.rs",
+"ui/coroutine/issue-58888.rs",
+"ui/coroutine/issue-61442-stmt-expr-with-drop.rs",
+"ui/coroutine/issue-62506-two_awaits.rs",
+"ui/coroutine/issue-64620-yield-array-element.rs",
+"ui/coroutine/issue-68112.rs",
+"ui/coroutine/issue-69017.rs",
+"ui/coroutine/issue-69039.rs",
+"ui/coroutine/issue-87142.rs",
+"ui/coroutine/issue-88653.rs",
+"ui/coroutine/issue-91477.rs",
+"ui/coroutine/issue-93161.rs",
+"ui/cross-crate/issue-64872/issue-64872.rs",
+"ui/cycle-trait/issue-12511.rs",
+"ui/debuginfo/issue-105386-debuginfo-ub.rs",
+"ui/deprecation/issue-66340-deprecated-attr-non-meta-grammar.rs",
+"ui/deprecation/issue-84637-deprecated-associated-function.rs",
+"ui/derived-errors/issue-30580.rs",
+"ui/derived-errors/issue-31997-1.rs",
+"ui/derived-errors/issue-31997.rs",
+"ui/derives/issue-36617.rs",
+"ui/derives/issue-43023.rs",
+"ui/derives/issue-91492.rs",
+"ui/derives/issue-91550.rs",
+"ui/derives/issue-97343.rs",
+"ui/deriving/issue-103157.rs",
+"ui/deriving/issue-15689-1.rs",
+"ui/deriving/issue-15689-2.rs",
+"ui/deriving/issue-19358.rs",
+"ui/deriving/issue-3935.rs",
+"ui/deriving/issue-58319.rs",
+"ui/deriving/issue-6341.rs",
+"ui/deriving/issue-89188-gat-hrtb.rs",
+"ui/did_you_mean/issue-103909.rs",
+"ui/did_you_mean/issue-105225-named-args.rs",
+"ui/did_you_mean/issue-105225.rs",
+"ui/did_you_mean/issue-114112.rs",
+"ui/did_you_mean/issue-21659-show-relevant-trait-impls-1.rs",
+"ui/did_you_mean/issue-21659-show-relevant-trait-impls-2.rs",
+"ui/did_you_mean/issue-31424.rs",
+"ui/did_you_mean/issue-34126.rs",
+"ui/did_you_mean/issue-34337.rs",
+"ui/did_you_mean/issue-35937.rs",
+"ui/did_you_mean/issue-36798.rs",
+"ui/did_you_mean/issue-36798_unknown_field.rs",
+"ui/did_you_mean/issue-37139.rs",
+"ui/did_you_mean/issue-38054-do-not-show-unresolved-names.rs",
+"ui/did_you_mean/issue-38147-1.rs",
+"ui/did_you_mean/issue-38147-2.rs",
+"ui/did_you_mean/issue-38147-3.rs",
+"ui/did_you_mean/issue-38147-4.rs",
+"ui/did_you_mean/issue-39544.rs",
+"ui/did_you_mean/issue-39802-show-5-trait-impls.rs",
+"ui/did_you_mean/issue-40006.rs",
+"ui/did_you_mean/issue-40396.rs",
+"ui/did_you_mean/issue-40823.rs",
+"ui/did_you_mean/issue-41679-tilde-bitwise-negation-attempt.rs",
+"ui/did_you_mean/issue-42599_available_fields_note.rs",
+"ui/did_you_mean/issue-42764.rs",
+"ui/did_you_mean/issue-43871-enum-instead-of-variant.rs",
+"ui/did_you_mean/issue-46718-struct-pattern-dotdotdot.rs",
+"ui/did_you_mean/issue-46836-identifier-not-instead-of-negation.rs",
+"ui/did_you_mean/issue-48492-tuple-destructure-missing-parens.rs",
+"ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.rs",
+"ui/did_you_mean/issue-53280-expected-float-found-integer-literal.rs",
+"ui/did_you_mean/issue-54109-and_instead_of_ampersands.rs",
+"ui/did_you_mean/issue-54109-without-witness.rs",
+"ui/did_you_mean/issue-56028-there-is-an-enum-variant.rs",
+"ui/did_you_mean/issue-87830-try-brackets-for-arrays.rs",
+"ui/drop/auxiliary/issue-10028.rs",
+"ui/drop/issue-100276.rs",
+"ui/drop/issue-10028.rs",
+"ui/drop/issue-103107.rs",
+"ui/drop/issue-110682.rs",
+"ui/drop/issue-17718-const-destructors.rs",
+"ui/drop/issue-21486.rs",
+"ui/drop/issue-23338-ensure-param-drop-order.rs",
+"ui/drop/issue-2734.rs",
+"ui/drop/issue-2735-2.rs",
+"ui/drop/issue-2735-3.rs",
+"ui/drop/issue-2735.rs",
+"ui/drop/issue-30018-nopanic.rs",
+"ui/drop/issue-35546.rs",
+"ui/drop/issue-48962.rs",
+"ui/drop/issue-90752-raw-ptr-shenanigans.rs",
+"ui/drop/issue-90752.rs",
+"ui/drop/issue-979.rs",
+"ui/dropck/issue-24805-dropck-itemless.rs",
+"ui/dropck/issue-28498-ugeh-with-lifetime-param.rs",
+"ui/dropck/issue-28498-ugeh-with-passed-to-fn.rs",
+"ui/dropck/issue-28498-ugeh-with-trait-bound.rs",
+"ui/dropck/issue-29844.rs",
+"ui/dropck/issue-34053.rs",
+"ui/dropck/issue-38868.rs",
+"ui/dropck/issue-54943-1.rs",
+"ui/dropck/issue-54943-2.rs",
+"ui/dst/issue-113447.rs",
+"ui/dst/issue-90528-unsizing-not-suggestion-110063.rs",
+"ui/dst/issue-90528-unsizing-suggestion-1.rs",
+"ui/dst/issue-90528-unsizing-suggestion-2.rs",
+"ui/dst/issue-90528-unsizing-suggestion-3.rs",
+"ui/dst/issue-90528-unsizing-suggestion-4.rs",
+"ui/dyn-keyword/issue-56327-dyn-trait-in-macro-is-okay.rs",
+"ui/dyn-star/issue-102430.rs",
+"ui/empty/issue-37026.rs",
+"ui/entry-point/issue-118772.rs",
+"ui/enum-discriminant/auxiliary/issue-41394.rs",
+"ui/enum-discriminant/issue-104519.rs",
+"ui/enum-discriminant/issue-41394-rpass.rs",
+"ui/enum-discriminant/issue-41394.rs",
+"ui/enum-discriminant/issue-43398.rs",
+"ui/enum-discriminant/issue-46519.rs",
+"ui/enum-discriminant/issue-50689.rs",
+"ui/enum-discriminant/issue-51582.rs",
+"ui/enum-discriminant/issue-61696.rs",
+"ui/enum-discriminant/issue-70453-generics-in-discr-ice-2.rs",
+"ui/enum-discriminant/issue-70453-generics-in-discr-ice.rs",
+"ui/enum-discriminant/issue-70453-polymorphic-ctfe.rs",
+"ui/enum-discriminant/issue-70509-partial_eq.rs",
+"ui/enum-discriminant/issue-72554.rs",
+"ui/enum-discriminant/issue-90038.rs",
+"ui/enum/issue-1821.rs",
+"ui/enum/issue-42747.rs",
+"ui/enum/issue-67945-1.rs",
+"ui/enum/issue-67945-2.rs",
+"ui/error-codes/e0119/auxiliary/issue-23563-a.rs",
+"ui/error-codes/e0119/issue-23563.rs",
+"ui/error-codes/e0119/issue-27403.rs",
+"ui/error-codes/e0119/issue-28981.rs",
+"ui/errors/issue-104621-extern-bad-file.rs",
+"ui/errors/issue-104621-extern-not-file.rs",
+"ui/errors/issue-89280-emitter-overflow-splice-lines.rs",
+"ui/errors/issue-99572-impl-trait-on-pointer.rs",
+"ui/expr/if/issue-4201.rs",
+"ui/extenv/issue-110547.rs",
+"ui/extenv/issue-55897.rs",
+"ui/extern/auxiliary/issue-80074-macro-2.rs",
+"ui/extern/auxiliary/issue-80074-macro.rs",
+"ui/extern/issue-10025.rs",
+"ui/extern/issue-10763.rs",
+"ui/extern/issue-10764-rpass.rs",
+"ui/extern/issue-112363-extern-item-where-clauses-debug-ice.rs",
+"ui/extern/issue-116203.rs",
+"ui/extern/issue-1251.rs",
+"ui/extern/issue-13655.rs",
+"ui/extern/issue-16250.rs",
+"ui/extern/issue-18576.rs",
+"ui/extern/issue-18819.rs",
+"ui/extern/issue-28324.rs",
+"ui/extern/issue-36122-accessing-externed-dst.rs",
+"ui/extern/issue-47725.rs",
+"ui/extern/issue-64655-allow-unwind-when-calling-panic-directly.rs",
+"ui/extern/issue-64655-extern-rust-must-allow-unwind.rs",
+"ui/extern/issue-80074.rs",
+"ui/extern/issue-95829.rs",
+"ui/feature-gates/issue-43106-gating-of-bench.rs",
+"ui/feature-gates/issue-43106-gating-of-builtin-attrs-error.rs",
+"ui/feature-gates/issue-43106-gating-of-builtin-attrs.rs",
+"ui/feature-gates/issue-43106-gating-of-deprecated.rs",
+"ui/feature-gates/issue-43106-gating-of-derive-2.rs",
+"ui/feature-gates/issue-43106-gating-of-derive.rs",
+"ui/feature-gates/issue-43106-gating-of-macro_escape.rs",
+"ui/feature-gates/issue-43106-gating-of-macro_use.rs",
+"ui/feature-gates/issue-43106-gating-of-proc_macro_derive.rs",
+"ui/feature-gates/issue-43106-gating-of-stable.rs",
+"ui/feature-gates/issue-43106-gating-of-test.rs",
+"ui/feature-gates/issue-43106-gating-of-unstable.rs",
+"ui/feature-gates/issue-49983-see-issue-0.rs",
+"ui/fmt/issue-103826.rs",
+"ui/fmt/issue-104142.rs",
+"ui/fmt/issue-23781.rs",
+"ui/fmt/issue-75307.rs",
+"ui/fmt/issue-86085.rs",
+"ui/fmt/issue-89173.rs",
+"ui/fmt/issue-91556.rs",
+"ui/fn/issue-3044.rs",
+"ui/fn/issue-3099.rs",
+"ui/fn/issue-3904.rs",
+"ui/fn/issue-39259.rs",
+"ui/fn/issue-80179.rs",
+"ui/for-loop-while/issue-1257.rs",
+"ui/for-loop-while/issue-2216.rs",
+"ui/for-loop-while/issue-51345.rs",
+"ui/for-loop-while/issue-69841.rs",
+"ui/for/issue-20605.rs",
+"ui/foreign/issue-74120-lowering-of-ffi-block-bodies.rs",
+"ui/foreign/issue-91370-foreign-fn-block-impl.rs",
+"ui/foreign/issue-99276-same-type-lifetimes.rs",
+"ui/function-pointer/issue-102289.rs",
+"ui/functions-closures/closure-expected-type/issue-38714.rs",
+"ui/generic-associated-types/bugs/issue-100013.rs",
+"ui/generic-associated-types/bugs/issue-80626.rs",
+"ui/generic-associated-types/bugs/issue-87735.rs",
+"ui/generic-associated-types/bugs/issue-87755.rs",
+"ui/generic-associated-types/bugs/issue-87803.rs",
+"ui/generic-associated-types/bugs/issue-88382.rs",
+"ui/generic-associated-types/bugs/issue-88460.rs",
+"ui/generic-associated-types/bugs/issue-88526.rs",
+"ui/generic-associated-types/bugs/issue-91762.rs",
+"ui/generic-associated-types/issue-101020.rs",
+"ui/generic-associated-types/issue-102114.rs",
+"ui/generic-associated-types/issue-102333.rs",
+"ui/generic-associated-types/issue-102335-gat.rs",
+"ui/generic-associated-types/issue-119942-unsatisified-gat-bound-during-assoc-ty-selection.rs",
+"ui/generic-associated-types/issue-47206-where-clause.rs",
+"ui/generic-associated-types/issue-58694-parameter-out-of-range.rs",
+"ui/generic-associated-types/issue-62326-parameter-out-of-range.rs",
+"ui/generic-associated-types/issue-67424.rs",
+"ui/generic-associated-types/issue-67510-pass.rs",
+"ui/generic-associated-types/issue-67510.rs",
+"ui/generic-associated-types/issue-68641-check-gat-bounds.rs",
+"ui/generic-associated-types/issue-68642-broken-llvm-ir.rs",
+"ui/generic-associated-types/issue-68643-broken-mir.rs",
+"ui/generic-associated-types/issue-68644-codegen-selection.rs",
+"ui/generic-associated-types/issue-68645-codegen-fulfillment.rs",
+"ui/generic-associated-types/issue-68648-1.rs",
+"ui/generic-associated-types/issue-68648-2.rs",
+"ui/generic-associated-types/issue-68649-pass.rs",
+"ui/generic-associated-types/issue-68653.rs",
+"ui/generic-associated-types/issue-68656-unsized-values.rs",
+"ui/generic-associated-types/issue-70303.rs",
+"ui/generic-associated-types/issue-70304.rs",
+"ui/generic-associated-types/issue-71176.rs",
+"ui/generic-associated-types/issue-74684-1.rs",
+"ui/generic-associated-types/issue-74684-2.rs",
+"ui/generic-associated-types/issue-74816.rs",
+"ui/generic-associated-types/issue-74824.rs",
+"ui/generic-associated-types/issue-76407.rs",
+"ui/generic-associated-types/issue-76535.rs",
+"ui/generic-associated-types/issue-76826.rs",
+"ui/generic-associated-types/issue-78113-lifetime-mismatch-dyn-trait-box.rs",
+"ui/generic-associated-types/issue-78671.rs",
+"ui/generic-associated-types/issue-79422.rs",
+"ui/generic-associated-types/issue-79636-1.rs",
+"ui/generic-associated-types/issue-79636-2.rs",
+"ui/generic-associated-types/issue-80433-reduced.rs",
+"ui/generic-associated-types/issue-80433.rs",
+"ui/generic-associated-types/issue-81487.rs",
+"ui/generic-associated-types/issue-81712-cyclic-traits.rs",
+"ui/generic-associated-types/issue-81862.rs",
+"ui/generic-associated-types/issue-84931.rs",
+"ui/generic-associated-types/issue-85921.rs",
+"ui/generic-associated-types/issue-86218-2.rs",
+"ui/generic-associated-types/issue-86218.rs",
+"ui/generic-associated-types/issue-86483.rs",
+"ui/generic-associated-types/issue-86787.rs",
+"ui/generic-associated-types/issue-87258_a.rs",
+"ui/generic-associated-types/issue-87258_b.rs",
+"ui/generic-associated-types/issue-87429-2.rs",
+"ui/generic-associated-types/issue-87429-associated-type-default.rs",
+"ui/generic-associated-types/issue-87429-specialization.rs",
+"ui/generic-associated-types/issue-87429.rs",
+"ui/generic-associated-types/issue-87748.rs",
+"ui/generic-associated-types/issue-87750.rs",
+"ui/generic-associated-types/issue-88287.rs",
+"ui/generic-associated-types/issue-88360.rs",
+"ui/generic-associated-types/issue-88405.rs",
+"ui/generic-associated-types/issue-88459.rs",
+"ui/generic-associated-types/issue-88595.rs",
+"ui/generic-associated-types/issue-89008.rs",
+"ui/generic-associated-types/issue-89352.rs",
+"ui/generic-associated-types/issue-90014-tait.rs",
+"ui/generic-associated-types/issue-90014-tait2.rs",
+"ui/generic-associated-types/issue-90014.rs",
+"ui/generic-associated-types/issue-90729.rs",
+"ui/generic-associated-types/issue-91139.rs",
+"ui/generic-associated-types/issue-91883.rs",
+"ui/generic-associated-types/issue-92033.rs",
+"ui/generic-associated-types/issue-92096.rs",
+"ui/generic-associated-types/issue-92280.rs",
+"ui/generic-associated-types/issue-92954.rs",
+"ui/generic-associated-types/issue-93141.rs",
+"ui/generic-associated-types/issue-93262.rs",
+"ui/generic-associated-types/issue-93340.rs",
+"ui/generic-associated-types/issue-93341.rs",
+"ui/generic-associated-types/issue-93342.rs",
+"ui/generic-associated-types/issue-93874.rs",
+"ui/generic-associated-types/issue-95305.rs",
+"ui/generics/issue-106694.rs",
+"ui/generics/issue-1112.rs",
+"ui/generics/issue-2936.rs",
+"ui/generics/issue-32498.rs",
+"ui/generics/issue-333.rs",
+"ui/generics/issue-59508-1.rs",
+"ui/generics/issue-59508.rs",
+"ui/generics/issue-61631-default-type-param-can-reference-self-in-trait.rs",
+"ui/generics/issue-61631-default-type-param-cannot-reference-self.rs",
+"ui/generics/issue-65285-incorrect-explicit-lifetime-name-needed.rs",
+"ui/generics/issue-79605.rs",
+"ui/generics/issue-80512-param-reordering-with-defaults.rs",
+"ui/generics/issue-83556.rs",
+"ui/generics/issue-94432-garbage-ice.rs",
+"ui/generics/issue-94923.rs",
+"ui/generics/issue-95208-ignore-qself.rs",
+"ui/generics/issue-95208.rs",
+"ui/generics/issue-98432.rs",
+"ui/higher-ranked/trait-bounds/issue-100689.rs",
+"ui/higher-ranked/trait-bounds/issue-102899.rs",
+"ui/higher-ranked/trait-bounds/issue-30786.rs",
+"ui/higher-ranked/trait-bounds/issue-36139-normalize-closure-sig.rs",
+"ui/higher-ranked/trait-bounds/issue-39292.rs",
+"ui/higher-ranked/trait-bounds/issue-42114.rs",
+"ui/higher-ranked/trait-bounds/issue-43623.rs",
+"ui/higher-ranked/trait-bounds/issue-46989.rs",
+"ui/higher-ranked/trait-bounds/issue-57639.rs",
+"ui/higher-ranked/trait-bounds/issue-58451.rs",
+"ui/higher-ranked/trait-bounds/issue-59311.rs",
+"ui/higher-ranked/trait-bounds/issue-60283.rs",
+"ui/higher-ranked/trait-bounds/issue-62203-hrtb-ice.rs",
+"ui/higher-ranked/trait-bounds/issue-88446.rs",
+"ui/higher-ranked/trait-bounds/issue-88586-hr-self-outlives-in-trait-def.rs",
+"ui/higher-ranked/trait-bounds/issue-90177.rs",
+"ui/higher-ranked/trait-bounds/issue-95034.rs",
+"ui/higher-ranked/trait-bounds/issue-95230.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-44005.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-56556.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-62529-1.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-62529-2.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-62529-3.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-62529-4.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-62529-5.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-62529-6.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-70120.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-71955.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-74261.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-76956.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-80706.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-80956.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-81809.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-85455.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-89118.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-89436.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-90612.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-90638.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-90875.rs",
+"ui/higher-ranked/trait-bounds/normalize-under-binder/issue-90950.rs",
+"ui/hygiene/issue-15221.rs",
+"ui/hygiene/issue-29746.rs",
+"ui/hygiene/issue-32922.rs",
+"ui/hygiene/issue-40847.rs",
+"ui/hygiene/issue-44128.rs",
+"ui/hygiene/issue-47311.rs",
+"ui/hygiene/issue-47312.rs",
+"ui/hygiene/issue-61574-const-parameters.rs",
+"ui/hygiene/issue-77523-def-site-async-await.rs",
+"ui/impl-trait/explicit-generic-args-with-impl-trait/issue-87718.rs",
+"ui/impl-trait/in-trait/issue-102140.rs",
+"ui/impl-trait/in-trait/issue-102301.rs",
+"ui/impl-trait/in-trait/issue-102571.rs",
+"ui/impl-trait/issue-100075-2.rs",
+"ui/impl-trait/issue-100075.rs",
+"ui/impl-trait/issue-100187.rs",
+"ui/impl-trait/issue-102605.rs",
+"ui/impl-trait/issue-103181-1.rs",
+"ui/impl-trait/issue-103181-2.rs",
+"ui/impl-trait/issue-103599.rs",
+"ui/impl-trait/issue-108591.rs",
+"ui/impl-trait/issue-108592.rs",
+"ui/impl-trait/issue-35668.rs",
+"ui/impl-trait/issue-36792.rs",
+"ui/impl-trait/issue-46959.rs",
+"ui/impl-trait/issue-49556.rs",
+"ui/impl-trait/issue-49579.rs",
+"ui/impl-trait/issue-49685.rs",
+"ui/impl-trait/issue-51185.rs",
+"ui/impl-trait/issue-54966.rs",
+"ui/impl-trait/issue-55872-1.rs",
+"ui/impl-trait/issue-55872-2.rs",
+"ui/impl-trait/issue-55872-3.rs",
+"ui/impl-trait/issue-55872.rs",
+"ui/impl-trait/issue-56445.rs",
+"ui/impl-trait/issue-68532.rs",
+"ui/impl-trait/issue-72911.rs",
+"ui/impl-trait/issue-86465.rs",
+"ui/impl-trait/issue-87450.rs",
+"ui/impl-trait/issue-99073-2.rs",
+"ui/impl-trait/issue-99073.rs",
+"ui/impl-trait/issue-99642-2.rs",
+"ui/impl-trait/issue-99642.rs",
+"ui/impl-trait/issue-99914.rs",
+"ui/impl-trait/issues/issue-104815.rs",
+"ui/impl-trait/issues/issue-105826.rs",
+"ui/impl-trait/issues/issue-21659-show-relevant-trait-impls-3.rs",
+"ui/impl-trait/issues/issue-42479.rs",
+"ui/impl-trait/issues/issue-49376.rs",
+"ui/impl-trait/issues/issue-52128.rs",
+"ui/impl-trait/issues/issue-53457.rs",
+"ui/impl-trait/issues/issue-54600.rs",
+"ui/impl-trait/issues/issue-54840.rs",
+"ui/impl-trait/issues/issue-54895.rs",
+"ui/impl-trait/issues/issue-55608-captures-empty-region.rs",
+"ui/impl-trait/issues/issue-57464-unexpected-regions.rs",
+"ui/impl-trait/issues/issue-57979-deeply-nested-impl-trait-in-assoc-proj.rs",
+"ui/impl-trait/issues/issue-57979-impl-trait-in-path.rs",
+"ui/impl-trait/issues/issue-57979-nested-impl-trait-in-assoc-proj.rs",
+"ui/impl-trait/issues/issue-58504.rs",
+"ui/impl-trait/issues/issue-58956.rs",
+"ui/impl-trait/issues/issue-62742.rs",
+"ui/impl-trait/issues/issue-65581.rs",
+"ui/impl-trait/issues/issue-67830.rs",
+"ui/impl-trait/issues/issue-70877.rs",
+"ui/impl-trait/issues/issue-70971.rs",
+"ui/impl-trait/issues/issue-74282.rs",
+"ui/impl-trait/issues/issue-77987.rs",
+"ui/impl-trait/issues/issue-78722-2.rs",
+"ui/impl-trait/issues/issue-78722.rs",
+"ui/impl-trait/issues/issue-79099.rs",
+"ui/impl-trait/issues/issue-82139.rs",
+"ui/impl-trait/issues/issue-83919.rs",
+"ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.rs",
+"ui/impl-trait/issues/issue-84073.rs",
+"ui/impl-trait/issues/issue-84919.rs",
+"ui/impl-trait/issues/issue-86201.rs",
+"ui/impl-trait/issues/issue-86642.rs",
+"ui/impl-trait/issues/issue-86719.rs",
+"ui/impl-trait/issues/issue-86800.rs",
+"ui/impl-trait/issues/issue-87295.rs",
+"ui/impl-trait/issues/issue-87340.rs",
+"ui/impl-trait/issues/issue-88236-2.rs",
+"ui/impl-trait/issues/issue-88236.rs",
+"ui/impl-trait/issues/issue-89312.rs",
+"ui/impl-trait/issues/issue-92305.rs",
+"ui/impl-trait/issues/issue-93788.rs",
+"ui/impl-trait/issues/issue-99348-impl-compatibility.rs",
+"ui/implied-bounds/issue-100690.rs",
+"ui/implied-bounds/issue-101951.rs",
+"ui/implied-bounds/issue-110161.rs",
+"ui/imports/auxiliary/issue-114682-2-extern.rs",
+"ui/imports/auxiliary/issue-114682-3-extern.rs",
+"ui/imports/auxiliary/issue-114682-4-extern.rs",
+"ui/imports/auxiliary/issue-114682-5-extern-1.rs",
+"ui/imports/auxiliary/issue-114682-5-extern-2.rs",
+"ui/imports/auxiliary/issue-114682-6-extern.rs",
+"ui/imports/auxiliary/issue-119369-extern.rs",
+"ui/imports/auxiliary/issue-36881-aux.rs",
+"ui/imports/auxiliary/issue-52891.rs",
+"ui/imports/auxiliary/issue-55811.rs",
+"ui/imports/auxiliary/issue-56125.rs",
+"ui/imports/auxiliary/issue-59764.rs",
+"ui/imports/auxiliary/issue-85992-extern-1.rs",
+"ui/imports/auxiliary/issue-85992-extern-2.rs",
+"ui/imports/issue-109148.rs",
+"ui/imports/issue-109343.rs",
+"ui/imports/issue-113953.rs",
+"ui/imports/issue-114682-1.rs",
+"ui/imports/issue-114682-2.rs",
+"ui/imports/issue-114682-3.rs",
+"ui/imports/issue-114682-4.rs",
+"ui/imports/issue-114682-5.rs",
+"ui/imports/issue-114682-6.rs",
+"ui/imports/issue-119369.rs",
+"ui/imports/issue-13404.rs",
+"ui/imports/issue-1697.rs",
+"ui/imports/issue-18083.rs",
+"ui/imports/issue-19498.rs",
+"ui/imports/issue-24081.rs",
+"ui/imports/issue-24883.rs",
+"ui/imports/issue-25396.rs",
+"ui/imports/issue-26873-multifile/issue-26873-multifile.rs",
+"ui/imports/issue-26873-multifile/issue-26873-onefile.rs",
+"ui/imports/issue-26886.rs",
+"ui/imports/issue-26930.rs",
+"ui/imports/issue-28134.rs",
+"ui/imports/issue-28388-1.rs",
+"ui/imports/issue-28388-2.rs",
+"ui/imports/issue-2937.rs",
+"ui/imports/issue-30560.rs",
+"ui/imports/issue-31212.rs",
+"ui/imports/issue-32119.rs",
+"ui/imports/issue-32222.rs",
+"ui/imports/issue-32354-suggest-import-rename.rs",
+"ui/imports/issue-32833.rs",
+"ui/imports/issue-33464.rs",
+"ui/imports/issue-36881.rs",
+"ui/imports/issue-37887.rs",
+"ui/imports/issue-38293.rs",
+"ui/imports/issue-4366-2.rs",
+"ui/imports/issue-4366.rs",
+"ui/imports/issue-45799-bad-extern-crate-rename-suggestion-formatting.rs",
+"ui/imports/issue-45829/auxiliary/issue-45829-a.rs",
+"ui/imports/issue-45829/auxiliary/issue-45829-b.rs",
+"ui/imports/issue-45829/issue-45829.rs",
+"ui/imports/issue-47623.rs",
+"ui/imports/issue-4865-1.rs",
+"ui/imports/issue-4865-2.rs",
+"ui/imports/issue-4865-3.rs",
+"ui/imports/issue-52891.rs",
+"ui/imports/issue-53140.rs",
+"ui/imports/issue-53269.rs",
+"ui/imports/issue-53512.rs",
+"ui/imports/issue-53565.rs",
+"ui/imports/issue-55457.rs",
+"ui/imports/issue-55811.rs",
+"ui/imports/issue-55884-1.rs",
+"ui/imports/issue-55884-2.rs",
+"ui/imports/issue-56125.rs",
+"ui/imports/issue-56263.rs",
+"ui/imports/issue-57015.rs",
+"ui/imports/issue-57539.rs",
+"ui/imports/issue-59764.rs",
+"ui/imports/issue-62767.rs",
+"ui/imports/issue-68103.rs",
+"ui/imports/issue-81413.rs",
+"ui/imports/issue-8208.rs",
+"ui/imports/issue-85992.rs",
+"ui/imports/issue-8640.rs",
+"ui/imports/issue-99695-b.rs",
+"ui/imports/issue-99695.rs",
+"ui/inference/issue-103587.rs",
+"ui/inference/issue-104649.rs",
+"ui/inference/issue-107090.rs",
+"ui/inference/issue-113354.rs",
+"ui/inference/issue-12028.rs",
+"ui/inference/issue-28935.rs",
+"ui/inference/issue-36053.rs",
+"ui/inference/issue-70082.rs",
+"ui/inference/issue-70703.rs",
+"ui/inference/issue-71309.rs",
+"ui/inference/issue-71584.rs",
+"ui/inference/issue-71732.rs",
+"ui/inference/issue-72616.rs",
+"ui/inference/issue-72690.rs",
+"ui/inference/issue-80409.rs",
+"ui/inference/issue-80816.rs",
+"ui/inference/issue-81522.rs",
+"ui/inference/issue-83606.rs",
+"ui/inference/issue-86094-suggest-add-return-to-coerce-ret-ty.rs",
+"ui/inference/issue-86162-1.rs",
+"ui/inference/issue-86162-2.rs",
+"ui/inference/need_type_info/issue-103053.rs",
+"ui/inference/need_type_info/issue-107745-avoid-expr-from-macro-expansion.rs",
+"ui/inference/need_type_info/issue-109905.rs",
+"ui/inference/need_type_info/issue-113264-incorrect-impl-trait-in-path-suggestion.rs",
+"ui/infinite/issue-41731-infinite-macro-print.rs",
+"ui/infinite/issue-41731-infinite-macro-println.rs",
+"ui/intrinsics/issue-28575.rs",
+"ui/intrinsics/issue-84297-reifying-copy.rs",
+"ui/invalid/issue-114435-layout-type-err.rs",
+"ui/issue-11881.rs",
+"ui/issue-13560.rs",
+"ui/issue-15924.rs",
+"ui/issue-16822.rs",
+"ui/issue-18502.rs",
+"ui/issue-24106.rs",
+"ui/issue-76387-llvm-miscompile.rs",
+"ui/issues-71798.rs",
+"ui/issues/auxiliary/issue-111011.rs",
+"ui/issues/auxiliary/issue-11224.rs",
+"ui/issues/auxiliary/issue-11508.rs",
+"ui/issues/auxiliary/issue-11529.rs",
+"ui/issues/auxiliary/issue-11680.rs",
+"ui/issues/auxiliary/issue-12133-dylib.rs",
+"ui/issues/auxiliary/issue-12133-dylib2.rs",
+"ui/issues/auxiliary/issue-12133-rlib.rs",
+"ui/issues/auxiliary/issue-12612-1.rs",
+"ui/issues/auxiliary/issue-12612-2.rs",
+"ui/issues/auxiliary/issue-12660-aux.rs",
+"ui/issues/auxiliary/issue-13507.rs",
+"ui/issues/auxiliary/issue-13620-1.rs",
+"ui/issues/auxiliary/issue-13620-2.rs",
+"ui/issues/auxiliary/issue-13872-1.rs",
+"ui/issues/auxiliary/issue-13872-2.rs",
+"ui/issues/auxiliary/issue-13872-3.rs",
+"ui/issues/auxiliary/issue-14344-1.rs",
+"ui/issues/auxiliary/issue-14344-2.rs",
+"ui/issues/auxiliary/issue-14421.rs",
+"ui/issues/auxiliary/issue-14422.rs",
+"ui/issues/auxiliary/issue-15562.rs",
+"ui/issues/auxiliary/issue-16643.rs",
+"ui/issues/auxiliary/issue-16725.rs",
+"ui/issues/auxiliary/issue-17662.rs",
+"ui/issues/auxiliary/issue-18501.rs",
+"ui/issues/auxiliary/issue-18514.rs",
+"ui/issues/auxiliary/issue-18711.rs",
+"ui/issues/auxiliary/issue-18913-1.rs",
+"ui/issues/auxiliary/issue-18913-2.rs",
+"ui/issues/auxiliary/issue-19293.rs",
+"ui/issues/auxiliary/issue-19340-1.rs",
+"ui/issues/auxiliary/issue-20389.rs",
+"ui/issues/auxiliary/issue-21202.rs",
+"ui/issues/auxiliary/issue-2170-lib.rs",
+"ui/issues/auxiliary/issue-2316-a.rs",
+"ui/issues/auxiliary/issue-2316-b.rs",
+"ui/issues/auxiliary/issue-2380.rs",
+"ui/issues/auxiliary/issue-2414-a.rs",
+"ui/issues/auxiliary/issue-2414-b.rs",
+"ui/issues/auxiliary/issue-2472-b.rs",
+"ui/issues/auxiliary/issue-25185-1.rs",
+"ui/issues/auxiliary/issue-25185-2.rs",
+"ui/issues/auxiliary/issue-2526.rs",
+"ui/issues/auxiliary/issue-25467.rs",
+"ui/issues/auxiliary/issue-2631-a.rs",
+"ui/issues/auxiliary/issue-2723-a.rs",
+"ui/issues/auxiliary/issue-29265.rs",
+"ui/issues/auxiliary/issue-29485.rs",
+"ui/issues/auxiliary/issue-3012-1.rs",
+"ui/issues/auxiliary/issue-30123-aux.rs",
+"ui/issues/auxiliary/issue-3136-a.rs",
+"ui/issues/auxiliary/issue-31702-1.rs",
+"ui/issues/auxiliary/issue-31702-2.rs",
+"ui/issues/auxiliary/issue-34796-aux.rs",
+"ui/issues/auxiliary/issue-36954.rs",
+"ui/issues/auxiliary/issue-38190.rs",
+"ui/issues/auxiliary/issue-38226-aux.rs",
+"ui/issues/auxiliary/issue-3979-traits.rs",
+"ui/issues/auxiliary/issue-41053.rs",
+"ui/issues/auxiliary/issue-41549.rs",
+"ui/issues/auxiliary/issue-42007-s.rs",
+"ui/issues/auxiliary/issue-4208-cc.rs",
+"ui/issues/auxiliary/issue-4545.rs",
+"ui/issues/auxiliary/issue-48984-aux.rs",
+"ui/issues/auxiliary/issue-49544.rs",
+"ui/issues/auxiliary/issue-51798.rs",
+"ui/issues/auxiliary/issue-52489.rs",
+"ui/issues/auxiliary/issue-5518.rs",
+"ui/issues/auxiliary/issue-5521.rs",
+"ui/issues/auxiliary/issue-56943.rs",
+"ui/issues/auxiliary/issue-57271-lib.rs",
+"ui/issues/auxiliary/issue-5844-aux.rs",
+"ui/issues/auxiliary/issue-7178.rs",
+"ui/issues/auxiliary/issue-73112.rs",
+"ui/issues/auxiliary/issue-7899.rs",
+"ui/issues/auxiliary/issue-8044.rs",
+"ui/issues/auxiliary/issue-8259.rs",
+"ui/issues/auxiliary/issue-8401.rs",
+"ui/issues/auxiliary/issue-9123.rs",
+"ui/issues/auxiliary/issue-9155.rs",
+"ui/issues/auxiliary/issue-9188.rs",
+"ui/issues/auxiliary/issue-9906.rs",
+"ui/issues/auxiliary/issue-9968.rs",
+"ui/issues/issue-10228.rs",
+"ui/issues/issue-10291.rs",
+"ui/issues/issue-102964.rs",
+"ui/issues/issue-10396.rs",
+"ui/issues/issue-10412.rs",
+"ui/issues/issue-10436.rs",
+"ui/issues/issue-10456.rs",
+"ui/issues/issue-10465.rs",
+"ui/issues/issue-10545.rs",
+"ui/issues/issue-10638.rs",
+"ui/issues/issue-10656.rs",
+"ui/issues/issue-106755.rs",
+"ui/issues/issue-10683.rs",
+"ui/issues/issue-10718.rs",
+"ui/issues/issue-10734.rs",
+"ui/issues/issue-10764.rs",
+"ui/issues/issue-10767.rs",
+"ui/issues/issue-10802.rs",
+"ui/issues/issue-10806.rs",
+"ui/issues/issue-10853.rs",
+"ui/issues/issue-10877.rs",
+"ui/issues/issue-10902.rs",
+"ui/issues/issue-11004.rs",
+"ui/issues/issue-11047.rs",
+"ui/issues/issue-11085.rs",
+"ui/issues/issue-11192.rs",
+"ui/issues/issue-11205.rs",
+"ui/issues/issue-11224.rs",
+"ui/issues/issue-11267.rs",
+"ui/issues/issue-11374.rs",
+"ui/issues/issue-11382.rs",
+"ui/issues/issue-11384.rs",
+"ui/issues/issue-11508.rs",
+"ui/issues/issue-11529.rs",
+"ui/issues/issue-11552.rs",
+"ui/issues/issue-11592.rs",
+"ui/issues/issue-11677.rs",
+"ui/issues/issue-11680.rs",
+"ui/issues/issue-11681.rs",
+"ui/issues/issue-11692-1.rs",
+"ui/issues/issue-11692-2.rs",
+"ui/issues/issue-11709.rs",
+"ui/issues/issue-11740.rs",
+"ui/issues/issue-11771.rs",
+"ui/issues/issue-11820.rs",
+"ui/issues/issue-11844.rs",
+"ui/issues/issue-11869.rs",
+"ui/issues/issue-11958.rs",
+"ui/issues/issue-12033.rs",
+"ui/issues/issue-12041.rs",
+"ui/issues/issue-12127.rs",
+"ui/issues/issue-12133-1.rs",
+"ui/issues/issue-12133-2.rs",
+"ui/issues/issue-12133-3.rs",
+"ui/issues/issue-12187-1.rs",
+"ui/issues/issue-12187-2.rs",
+"ui/issues/issue-12285.rs",
+"ui/issues/issue-12567.rs",
+"ui/issues/issue-12612.rs",
+"ui/issues/issue-12660.rs",
+"ui/issues/issue-12677.rs",
+"ui/issues/issue-12699.rs",
+"ui/issues/issue-12729.rs",
+"ui/issues/issue-12744.rs",
+"ui/issues/issue-12860.rs",
+"ui/issues/issue-12863.rs",
+"ui/issues/issue-12909.rs",
+"ui/issues/issue-12920.rs",
+"ui/issues/issue-13027.rs",
+"ui/issues/issue-13058.rs",
+"ui/issues/issue-13105.rs",
+"ui/issues/issue-13167.rs",
+"ui/issues/issue-13202.rs",
+"ui/issues/issue-13204.rs",
+"ui/issues/issue-13214.rs",
+"ui/issues/issue-13259-windows-tcb-trash.rs",
+"ui/issues/issue-13264.rs",
+"ui/issues/issue-13323.rs",
+"ui/issues/issue-13359.rs",
+"ui/issues/issue-13405.rs",
+"ui/issues/issue-13407.rs",
+"ui/issues/issue-13434.rs",
+"ui/issues/issue-13446.rs",
+"ui/issues/issue-13466.rs",
+"ui/issues/issue-13482-2.rs",
+"ui/issues/issue-13482.rs",
+"ui/issues/issue-13497-2.rs",
+"ui/issues/issue-13497.rs",
+"ui/issues/issue-13507-2.rs",
+"ui/issues/issue-1362.rs",
+"ui/issues/issue-13620.rs",
+"ui/issues/issue-13665.rs",
+"ui/issues/issue-13703.rs",
+"ui/issues/issue-13763.rs",
+"ui/issues/issue-13775.rs",
+"ui/issues/issue-13808.rs",
+"ui/issues/issue-13847.rs",
+"ui/issues/issue-13867.rs",
+"ui/issues/issue-13872.rs",
+"ui/issues/issue-14082.rs",
+"ui/issues/issue-14091-2.rs",
+"ui/issues/issue-14091.rs",
+"ui/issues/issue-14092.rs",
+"ui/issues/issue-14229.rs",
+"ui/issues/issue-14254.rs",
+"ui/issues/issue-14285.rs",
+"ui/issues/issue-14308.rs",
+"ui/issues/issue-14330.rs",
+"ui/issues/issue-14344.rs",
+"ui/issues/issue-14366.rs",
+"ui/issues/issue-14382.rs",
+"ui/issues/issue-14393.rs",
+"ui/issues/issue-14399.rs",
+"ui/issues/issue-14421.rs",
+"ui/issues/issue-14422.rs",
+"ui/issues/issue-1448-2.rs",
+"ui/issues/issue-1451.rs",
+"ui/issues/issue-14541.rs",
+"ui/issues/issue-1460.rs",
+"ui/issues/issue-14721.rs",
+"ui/issues/issue-1476.rs",
+"ui/issues/issue-14821.rs",
+"ui/issues/issue-14845.rs",
+"ui/issues/issue-14853.rs",
+"ui/issues/issue-14865.rs",
+"ui/issues/issue-14875.rs",
+"ui/issues/issue-14901.rs",
+"ui/issues/issue-14915.rs",
+"ui/issues/issue-14919.rs",
+"ui/issues/issue-14959.rs",
+"ui/issues/issue-15034.rs",
+"ui/issues/issue-15043.rs",
+"ui/issues/issue-15063.rs",
+"ui/issues/issue-15094.rs",
+"ui/issues/issue-15104.rs",
+"ui/issues/issue-15129-rpass.rs",
+"ui/issues/issue-15155.rs",
+"ui/issues/issue-15167.rs",
+"ui/issues/issue-15189.rs",
+"ui/issues/issue-15207.rs",
+"ui/issues/issue-15260.rs",
+"ui/issues/issue-15381.rs",
+"ui/issues/issue-15444.rs",
+"ui/issues/issue-15523-big.rs",
+"ui/issues/issue-15523.rs",
+"ui/issues/issue-15562.rs",
+"ui/issues/issue-15571.rs",
+"ui/issues/issue-15673.rs",
+"ui/issues/issue-15734.rs",
+"ui/issues/issue-15735.rs",
+"ui/issues/issue-15756.rs",
+"ui/issues/issue-15763.rs",
+"ui/issues/issue-15774.rs",
+"ui/issues/issue-15783.rs",
+"ui/issues/issue-15793.rs",
+"ui/issues/issue-15858.rs",
+"ui/issues/issue-15896.rs",
+"ui/issues/issue-15965.rs",
+"ui/issues/issue-16048.rs",
+"ui/issues/issue-16149.rs",
+"ui/issues/issue-16151.rs",
+"ui/issues/issue-16256.rs",
+"ui/issues/issue-16278.rs",
+"ui/issues/issue-16401.rs",
+"ui/issues/issue-16441.rs",
+"ui/issues/issue-16452.rs",
+"ui/issues/issue-16492.rs",
+"ui/issues/issue-16530.rs",
+"ui/issues/issue-16560.rs",
+"ui/issues/issue-16562.rs",
+"ui/issues/issue-16596.rs",
+"ui/issues/issue-1660.rs",
+"ui/issues/issue-16643.rs",
+"ui/issues/issue-16648.rs",
+"ui/issues/issue-16668.rs",
+"ui/issues/issue-16671.rs",
+"ui/issues/issue-16683.rs",
+"ui/issues/issue-16725.rs",
+"ui/issues/issue-16739.rs",
+"ui/issues/issue-16745.rs",
+"ui/issues/issue-16774.rs",
+"ui/issues/issue-16783.rs",
+"ui/issues/issue-16819.rs",
+"ui/issues/issue-16922-rpass.rs",
+"ui/issues/issue-16939.rs",
+"ui/issues/issue-1696.rs",
+"ui/issues/issue-16966.rs",
+"ui/issues/issue-16994.rs",
+"ui/issues/issue-17001.rs",
+"ui/issues/issue-17033.rs",
+"ui/issues/issue-17068.rs",
+"ui/issues/issue-17121.rs",
+"ui/issues/issue-17216.rs",
+"ui/issues/issue-17252.rs",
+"ui/issues/issue-17302.rs",
+"ui/issues/issue-17322.rs",
+"ui/issues/issue-17336.rs",
+"ui/issues/issue-17337.rs",
+"ui/issues/issue-17351.rs",
+"ui/issues/issue-17361.rs",
+"ui/issues/issue-17373.rs",
+"ui/issues/issue-17385.rs",
+"ui/issues/issue-17405.rs",
+"ui/issues/issue-17441.rs",
+"ui/issues/issue-17450.rs",
+"ui/issues/issue-17503.rs",
+"ui/issues/issue-17546.rs",
+"ui/issues/issue-17551.rs",
+"ui/issues/issue-17651.rs",
+"ui/issues/issue-17662.rs",
+"ui/issues/issue-17732.rs",
+"ui/issues/issue-17734.rs",
+"ui/issues/issue-17740.rs",
+"ui/issues/issue-17746.rs",
+"ui/issues/issue-17758.rs",
+"ui/issues/issue-17771.rs",
+"ui/issues/issue-17800.rs",
+"ui/issues/issue-17816.rs",
+"ui/issues/issue-17877.rs",
+"ui/issues/issue-17897.rs",
+"ui/issues/issue-17904-2.rs",
+"ui/issues/issue-17904.rs",
+"ui/issues/issue-17905-2.rs",
+"ui/issues/issue-17905.rs",
+"ui/issues/issue-17933.rs",
+"ui/issues/issue-17954.rs",
+"ui/issues/issue-17959.rs",
+"ui/issues/issue-17994.rs",
+"ui/issues/issue-17999.rs",
+"ui/issues/issue-18058.rs",
+"ui/issues/issue-18088.rs",
+"ui/issues/issue-18107.rs",
+"ui/issues/issue-18110.rs",
+"ui/issues/issue-18119.rs",
+"ui/issues/issue-18159.rs",
+"ui/issues/issue-18173.rs",
+"ui/issues/issue-18183.rs",
+"ui/issues/issue-18188.rs",
+"ui/issues/issue-18232.rs",
+"ui/issues/issue-18352.rs",
+"ui/issues/issue-18353.rs",
+"ui/issues/issue-18389.rs",
+"ui/issues/issue-18423.rs",
+"ui/issues/issue-18446-2.rs",
+"ui/issues/issue-18446.rs",
+"ui/issues/issue-18464.rs",
+"ui/issues/issue-18501.rs",
+"ui/issues/issue-18514.rs",
+"ui/issues/issue-18532.rs",
+"ui/issues/issue-18539.rs",
+"ui/issues/issue-18566.rs",
+"ui/issues/issue-18611.rs",
+"ui/issues/issue-18685.rs",
+"ui/issues/issue-18711.rs",
+"ui/issues/issue-18738.rs",
+"ui/issues/issue-18767.rs",
+"ui/issues/issue-18783.rs",
+"ui/issues/issue-18809.rs",
+"ui/issues/issue-18845.rs",
+"ui/issues/issue-18859.rs",
+"ui/issues/issue-18906.rs",
+"ui/issues/issue-18913.rs",
+"ui/issues/issue-18919.rs",
+"ui/issues/issue-18952.rs",
+"ui/issues/issue-18959.rs",
+"ui/issues/issue-18988.rs",
+"ui/issues/issue-1900.rs",
+"ui/issues/issue-19001.rs",
+"ui/issues/issue-19037.rs",
+"ui/issues/issue-19086.rs",
+"ui/issues/issue-19097.rs",
+"ui/issues/issue-19098.rs",
+"ui/issues/issue-19100.rs",
+"ui/issues/issue-19127.rs",
+"ui/issues/issue-19129-1.rs",
+"ui/issues/issue-19129-2.rs",
+"ui/issues/issue-19135.rs",
+"ui/issues/issue-1920-absolute-paths/auxiliary/issue-1920.rs",
+"ui/issues/issue-1920-absolute-paths/issue-1920-1.rs",
+"ui/issues/issue-1920-absolute-paths/issue-1920-2.rs",
+"ui/issues/issue-1920-absolute-paths/issue-1920-3.rs",
+"ui/issues/issue-19244-1.rs",
+"ui/issues/issue-19244-2.rs",
+"ui/issues/issue-19293.rs",
+"ui/issues/issue-19340-1.rs",
+"ui/issues/issue-19340-2.rs",
+"ui/issues/issue-19367.rs",
+"ui/issues/issue-19380.rs",
+"ui/issues/issue-19398.rs",
+"ui/issues/issue-19404.rs",
+"ui/issues/issue-19479.rs",
+"ui/issues/issue-19482.rs",
+"ui/issues/issue-19499.rs",
+"ui/issues/issue-19521.rs",
+"ui/issues/issue-19601.rs",
+"ui/issues/issue-1962.rs",
+"ui/issues/issue-19631.rs",
+"ui/issues/issue-19632.rs",
+"ui/issues/issue-19692.rs",
+"ui/issues/issue-19734.rs",
+"ui/issues/issue-1974.rs",
+"ui/issues/issue-19811-escape-unicode.rs",
+"ui/issues/issue-19850.rs",
+"ui/issues/issue-19922.rs",
+"ui/issues/issue-19982.rs",
+"ui/issues/issue-19991.rs",
+"ui/issues/issue-20009.rs",
+"ui/issues/issue-20055-box-trait.rs",
+"ui/issues/issue-20055-box-unsized-array.rs",
+"ui/issues/issue-20162.rs",
+"ui/issues/issue-20174.rs",
+"ui/issues/issue-20186.rs",
+"ui/issues/issue-20225.rs",
+"ui/issues/issue-20261.rs",
+"ui/issues/issue-20313-rpass.rs",
+"ui/issues/issue-20313.rs",
+"ui/issues/issue-20389.rs",
+"ui/issues/issue-20396.rs",
+"ui/issues/issue-20413.rs",
+"ui/issues/issue-20414.rs",
+"ui/issues/issue-20427.rs",
+"ui/issues/issue-20433.rs",
+"ui/issues/issue-20454.rs",
+"ui/issues/issue-20544.rs",
+"ui/issues/issue-20575.rs",
+"ui/issues/issue-20644.rs",
+"ui/issues/issue-20676.rs",
+"ui/issues/issue-20714.rs",
+"ui/issues/issue-2074.rs",
+"ui/issues/issue-20763-1.rs",
+"ui/issues/issue-20763-2.rs",
+"ui/issues/issue-20772.rs",
+"ui/issues/issue-20797.rs",
+"ui/issues/issue-20803.rs",
+"ui/issues/issue-20831-debruijn.rs",
+"ui/issues/issue-20847.rs",
+"ui/issues/issue-20939.rs",
+"ui/issues/issue-20953.rs",
+"ui/issues/issue-20971.rs",
+"ui/issues/issue-21033.rs",
+"ui/issues/issue-21140.rs",
+"ui/issues/issue-21160.rs",
+"ui/issues/issue-21174-2.rs",
+"ui/issues/issue-21174.rs",
+"ui/issues/issue-21177.rs",
+"ui/issues/issue-21202.rs",
+"ui/issues/issue-21245.rs",
+"ui/issues/issue-21291.rs",
+"ui/issues/issue-21306.rs",
+"ui/issues/issue-21332.rs",
+"ui/issues/issue-21361.rs",
+"ui/issues/issue-21384.rs",
+"ui/issues/issue-21400.rs",
+"ui/issues/issue-21402.rs",
+"ui/issues/issue-21449.rs",
+"ui/issues/issue-2150.rs",
+"ui/issues/issue-2151.rs",
+"ui/issues/issue-21546.rs",
+"ui/issues/issue-21554.rs",
+"ui/issues/issue-21596.rs",
+"ui/issues/issue-21600.rs",
+"ui/issues/issue-21622.rs",
+"ui/issues/issue-21634.rs",
+"ui/issues/issue-21655.rs",
+"ui/issues/issue-2170-exe.rs",
+"ui/issues/issue-21701.rs",
+"ui/issues/issue-21763.rs",
+"ui/issues/issue-21837.rs",
+"ui/issues/issue-21891.rs",
+"ui/issues/issue-2190-1.rs",
+"ui/issues/issue-21909.rs",
+"ui/issues/issue-21922.rs",
+"ui/issues/issue-21946.rs",
+"ui/issues/issue-21950.rs",
+"ui/issues/issue-21974.rs",
+"ui/issues/issue-22008.rs",
+"ui/issues/issue-22034.rs",
+"ui/issues/issue-22036.rs",
+"ui/issues/issue-2214.rs",
+"ui/issues/issue-22258.rs",
+"ui/issues/issue-22289.rs",
+"ui/issues/issue-22312.rs",
+"ui/issues/issue-22346.rs",
+"ui/issues/issue-22356.rs",
+"ui/issues/issue-22370.rs",
+"ui/issues/issue-22403.rs",
+"ui/issues/issue-22426.rs",
+"ui/issues/issue-22434.rs",
+"ui/issues/issue-22468.rs",
+"ui/issues/issue-22471.rs",
+"ui/issues/issue-22577.rs",
+"ui/issues/issue-22599.rs",
+"ui/issues/issue-22603.rs",
+"ui/issues/issue-22629.rs",
+"ui/issues/issue-22638.rs",
+"ui/issues/issue-22644.rs",
+"ui/issues/issue-22673.rs",
+"ui/issues/issue-22684.rs",
+"ui/issues/issue-22706.rs",
+"ui/issues/issue-22777.rs",
+"ui/issues/issue-22781.rs",
+"ui/issues/issue-22789.rs",
+"ui/issues/issue-2281-part1.rs",
+"ui/issues/issue-22814.rs",
+"ui/issues/issue-2284.rs",
+"ui/issues/issue-22864-1.rs",
+"ui/issues/issue-22864-2.rs",
+"ui/issues/issue-22872.rs",
+"ui/issues/issue-22874.rs",
+"ui/issues/issue-2288.rs",
+"ui/issues/issue-22886.rs",
+"ui/issues/issue-22894.rs",
+"ui/issues/issue-22933-1.rs",
+"ui/issues/issue-22933-2.rs",
+"ui/issues/issue-22992-2.rs",
+"ui/issues/issue-22992.rs",
+"ui/issues/issue-23024.rs",
+"ui/issues/issue-23036.rs",
+"ui/issues/issue-23041.rs",
+"ui/issues/issue-23046.rs",
+"ui/issues/issue-23073.rs",
+"ui/issues/issue-2311-2.rs",
+"ui/issues/issue-2311.rs",
+"ui/issues/issue-2312.rs",
+"ui/issues/issue-23122-1.rs",
+"ui/issues/issue-23122-2.rs",
+"ui/issues/issue-2316-c.rs",
+"ui/issues/issue-23173.rs",
+"ui/issues/issue-23189.rs",
+"ui/issues/issue-23217.rs",
+"ui/issues/issue-23253.rs",
+"ui/issues/issue-23261.rs",
+"ui/issues/issue-23281.rs",
+"ui/issues/issue-23302-enum-infinite-recursion/issue-23302-1.rs",
+"ui/issues/issue-23302-enum-infinite-recursion/issue-23302-2.rs",
+"ui/issues/issue-23302-enum-infinite-recursion/issue-23302-3.rs",
+"ui/issues/issue-23304-1.rs",
+"ui/issues/issue-23304-2.rs",
+"ui/issues/issue-23311.rs",
+"ui/issues/issue-23336.rs",
+"ui/issues/issue-23354-2.rs",
+"ui/issues/issue-23354.rs",
+"ui/issues/issue-23406.rs",
+"ui/issues/issue-23433.rs",
+"ui/issues/issue-23442.rs",
+"ui/issues/issue-23477.rs",
+"ui/issues/issue-23485.rs",
+"ui/issues/issue-23491.rs",
+"ui/issues/issue-23543.rs",
+"ui/issues/issue-23544.rs",
+"ui/issues/issue-23550.rs",
+"ui/issues/issue-23589.rs",
+"ui/issues/issue-23611-enum-swap-in-drop.rs",
+"ui/issues/issue-23649-1.rs",
+"ui/issues/issue-23649-2.rs",
+"ui/issues/issue-23649-3.rs",
+"ui/issues/issue-23699.rs",
+"ui/issues/issue-2380-b.rs",
+"ui/issues/issue-23808.rs",
+"ui/issues/issue-2383.rs",
+"ui/issues/issue-23891.rs",
+"ui/issues/issue-23898.rs",
+"ui/issues/issue-23958.rs",
+"ui/issues/issue-23966.rs",
+"ui/issues/issue-23992.rs",
+"ui/issues/issue-24013.rs",
+"ui/issues/issue-24036.rs",
+"ui/issues/issue-24086.rs",
+"ui/issues/issue-2414-c.rs",
+"ui/issues/issue-24161.rs",
+"ui/issues/issue-24227.rs",
+"ui/issues/issue-2428.rs",
+"ui/issues/issue-24308.rs",
+"ui/issues/issue-24322.rs",
+"ui/issues/issue-24352.rs",
+"ui/issues/issue-24353.rs",
+"ui/issues/issue-24357.rs",
+"ui/issues/issue-24363.rs",
+"ui/issues/issue-24365.rs",
+"ui/issues/issue-24389.rs",
+"ui/issues/issue-24424.rs",
+"ui/issues/issue-24434.rs",
+"ui/issues/issue-24446.rs",
+"ui/issues/issue-2445-b.rs",
+"ui/issues/issue-2445.rs",
+"ui/issues/issue-24533.rs",
+"ui/issues/issue-24589.rs",
+"ui/issues/issue-2463.rs",
+"ui/issues/issue-24682.rs",
+"ui/issues/issue-24687-embed-debuginfo/auxiliary/issue-24687-lib.rs",
+"ui/issues/issue-24687-embed-debuginfo/auxiliary/issue-24687-mbcs-in-comments.rs",
+"ui/issues/issue-2470-bounds-check-overflow.rs",
+"ui/issues/issue-2472.rs",
+"ui/issues/issue-24779.rs",
+"ui/issues/issue-24819.rs",
+"ui/issues/issue-2487-a.rs",
+"ui/issues/issue-24945-repeat-dash-opts.rs",
+"ui/issues/issue-24947.rs",
+"ui/issues/issue-24954.rs",
+"ui/issues/issue-2502.rs",
+"ui/issues/issue-25076.rs",
+"ui/issues/issue-25089.rs",
+"ui/issues/issue-25145.rs",
+"ui/issues/issue-25180.rs",
+"ui/issues/issue-25185.rs",
+"ui/issues/issue-2526-a.rs",
+"ui/issues/issue-25279.rs",
+"ui/issues/issue-25343.rs",
+"ui/issues/issue-25368.rs",
+"ui/issues/issue-25386.rs",
+"ui/issues/issue-25394.rs",
+"ui/issues/issue-25467.rs",
+"ui/issues/issue-25497.rs",
+"ui/issues/issue-2550.rs",
+"ui/issues/issue-25515.rs",
+"ui/issues/issue-25549-multiple-drop.rs",
+"ui/issues/issue-25579.rs",
+"ui/issues/issue-25679.rs",
+"ui/issues/issue-25693.rs",
+"ui/issues/issue-25746-bool-transmute.rs",
+"ui/issues/issue-25757.rs",
+"ui/issues/issue-25810.rs",
+"ui/issues/issue-2590.rs",
+"ui/issues/issue-25901.rs",
+"ui/issues/issue-26056.rs",
+"ui/issues/issue-26093.rs",
+"ui/issues/issue-26095.rs",
+"ui/issues/issue-2611-3.rs",
+"ui/issues/issue-26127.rs",
+"ui/issues/issue-26186.rs",
+"ui/issues/issue-26205.rs",
+"ui/issues/issue-26217.rs",
+"ui/issues/issue-26237.rs",
+"ui/issues/issue-26262.rs",
+"ui/issues/issue-2631-b.rs",
+"ui/issues/issue-2642.rs",
+"ui/issues/issue-26468.rs",
+"ui/issues/issue-26472.rs",
+"ui/issues/issue-26484.rs",
+"ui/issues/issue-26614.rs",
+"ui/issues/issue-26619.rs",
+"ui/issues/issue-26641.rs",
+"ui/issues/issue-26646.rs",
+"ui/issues/issue-26655.rs",
+"ui/issues/issue-26709.rs",
+"ui/issues/issue-26802.rs",
+"ui/issues/issue-26805.rs",
+"ui/issues/issue-26812.rs",
+"ui/issues/issue-26948.rs",
+"ui/issues/issue-26997.rs",
+"ui/issues/issue-27008.rs",
+"ui/issues/issue-27033.rs",
+"ui/issues/issue-27042.rs",
+"ui/issues/issue-27054-primitive-binary-ops.rs",
+"ui/issues/issue-27078.rs",
+"ui/issues/issue-2708.rs",
+"ui/issues/issue-27105.rs",
+"ui/issues/issue-2723-b.rs",
+"ui/issues/issue-27240.rs",
+"ui/issues/issue-27268.rs",
+"ui/issues/issue-27281.rs",
+"ui/issues/issue-27340.rs",
+"ui/issues/issue-27401-dropflag-reinit.rs",
+"ui/issues/issue-27433.rs",
+"ui/issues/issue-27592.rs",
+"ui/issues/issue-2761.rs",
+"ui/issues/issue-27639.rs",
+"ui/issues/issue-27697.rs",
+"ui/issues/issue-27815.rs",
+"ui/issues/issue-27842.rs",
+"ui/issues/issue-27859.rs",
+"ui/issues/issue-27889.rs",
+"ui/issues/issue-27942.rs",
+"ui/issues/issue-27949.rs",
+"ui/issues/issue-27997.rs",
+"ui/issues/issue-28105.rs",
+"ui/issues/issue-28109.rs",
+"ui/issues/issue-28181.rs",
+"ui/issues/issue-2823.rs",
+"ui/issues/issue-28279.rs",
+"ui/issues/issue-28344.rs",
+"ui/issues/issue-28433.rs",
+"ui/issues/issue-28472.rs",
+"ui/issues/issue-2848.rs",
+"ui/issues/issue-2849.rs",
+"ui/issues/issue-28498-must-work-ex1.rs",
+"ui/issues/issue-28498-must-work-ex2.rs",
+"ui/issues/issue-28498-ugeh-ex1.rs",
+"ui/issues/issue-28550.rs",
+"ui/issues/issue-28561.rs",
+"ui/issues/issue-28568.rs",
+"ui/issues/issue-28586.rs",
+"ui/issues/issue-28600.rs",
+"ui/issues/issue-28625.rs",
+"ui/issues/issue-28776.rs",
+"ui/issues/issue-28777.rs",
+"ui/issues/issue-28828.rs",
+"ui/issues/issue-28839.rs",
+"ui/issues/issue-28936.rs",
+"ui/issues/issue-2895.rs",
+"ui/issues/issue-28971.rs",
+"ui/issues/issue-28983.rs",
+"ui/issues/issue-28999.rs",
+"ui/issues/issue-29030.rs",
+"ui/issues/issue-29037.rs",
+"ui/issues/issue-2904.rs",
+"ui/issues/issue-29048.rs",
+"ui/issues/issue-29053.rs",
+"ui/issues/issue-29071-2.rs",
+"ui/issues/issue-29071.rs",
+"ui/issues/issue-29092.rs",
+"ui/issues/issue-29147-rpass.rs",
+"ui/issues/issue-29147.rs",
+"ui/issues/issue-29265.rs",
+"ui/issues/issue-29276.rs",
+"ui/issues/issue-2935.rs",
+"ui/issues/issue-29466.rs",
+"ui/issues/issue-29485.rs",
+"ui/issues/issue-2951.rs",
+"ui/issues/issue-29516.rs",
+"ui/issues/issue-29522.rs",
+"ui/issues/issue-29540.rs",
+"ui/issues/issue-29663.rs",
+"ui/issues/issue-29668.rs",
+"ui/issues/issue-29710.rs",
+"ui/issues/issue-29723.rs",
+"ui/issues/issue-29740.rs",
+"ui/issues/issue-29743.rs",
+"ui/issues/issue-29821.rs",
+"ui/issues/issue-29857.rs",
+"ui/issues/issue-29861.rs",
+"ui/issues/issue-2989.rs",
+"ui/issues/issue-29948.rs",
+"ui/issues/issue-2995.rs",
+"ui/issues/issue-30007.rs",
+"ui/issues/issue-30018-panic.rs",
+"ui/issues/issue-30081.rs",
+"ui/issues/issue-3012-2.rs",
+"ui/issues/issue-30123.rs",
+"ui/issues/issue-3021-b.rs",
+"ui/issues/issue-3021-d.rs",
+"ui/issues/issue-30236.rs",
+"ui/issues/issue-30255.rs",
+"ui/issues/issue-3026.rs",
+"ui/issues/issue-3029.rs",
+"ui/issues/issue-3037.rs",
+"ui/issues/issue-30371.rs",
+"ui/issues/issue-3038.rs",
+"ui/issues/issue-30380.rs",
+"ui/issues/issue-30490.rs",
+"ui/issues/issue-3052.rs",
+"ui/issues/issue-30530.rs",
+"ui/issues/issue-30589.rs",
+"ui/issues/issue-30615.rs",
+"ui/issues/issue-30756.rs",
+"ui/issues/issue-30891.rs",
+"ui/issues/issue-3091.rs",
+"ui/issues/issue-31011.rs",
+"ui/issues/issue-3109.rs",
+"ui/issues/issue-3121.rs",
+"ui/issues/issue-31260.rs",
+"ui/issues/issue-31267-additional.rs",
+"ui/issues/issue-31267.rs",
+"ui/issues/issue-31299.rs",
+"ui/issues/issue-3136-b.rs",
+"ui/issues/issue-3149.rs",
+"ui/issues/issue-31511.rs",
+"ui/issues/issue-3154.rs",
+"ui/issues/issue-31702.rs",
+"ui/issues/issue-31769.rs",
+"ui/issues/issue-31776.rs",
+"ui/issues/issue-31910.rs",
+"ui/issues/issue-32004.rs",
+"ui/issues/issue-32008.rs",
+"ui/issues/issue-32086.rs",
+"ui/issues/issue-32122-deref-coercions-composition/issue-32122-1.rs",
+"ui/issues/issue-32122-deref-coercions-composition/issue-32122-2.rs",
+"ui/issues/issue-3214.rs",
+"ui/issues/issue-3220.rs",
+"ui/issues/issue-32292.rs",
+"ui/issues/issue-32324.rs",
+"ui/issues/issue-32326.rs",
+"ui/issues/issue-32377.rs",
+"ui/issues/issue-32389.rs",
+"ui/issues/issue-32518.rs",
+"ui/issues/issue-32655.rs",
+"ui/issues/issue-32782.rs",
+"ui/issues/issue-32797.rs",
+"ui/issues/issue-32805.rs",
+"ui/issues/issue-3290.rs",
+"ui/issues/issue-32950.rs",
+"ui/issues/issue-32995-2.rs",
+"ui/issues/issue-32995.rs",
+"ui/issues/issue-33187.rs",
+"ui/issues/issue-33202.rs",
+"ui/issues/issue-33241.rs",
+"ui/issues/issue-33287.rs",
+"ui/issues/issue-33293.rs",
+"ui/issues/issue-33387.rs",
+"ui/issues/issue-3344.rs",
+"ui/issues/issue-33461.rs",
+"ui/issues/issue-33504.rs",
+"ui/issues/issue-33525.rs",
+"ui/issues/issue-33571.rs",
+"ui/issues/issue-33687.rs",
+"ui/issues/issue-33770.rs",
+"ui/issues/issue-3389.rs",
+"ui/issues/issue-33941.rs",
+"ui/issues/issue-33992.rs",
+"ui/issues/issue-34047.rs",
+"ui/issues/issue-34074.rs",
+"ui/issues/issue-34209.rs",
+"ui/issues/issue-34229.rs",
+"ui/issues/issue-3424.rs",
+"ui/issues/issue-3429.rs",
+"ui/issues/issue-34334.rs",
+"ui/issues/issue-34349.rs",
+"ui/issues/issue-34373.rs",
+"ui/issues/issue-34418.rs",
+"ui/issues/issue-34427.rs",
+"ui/issues/issue-3447.rs",
+"ui/issues/issue-34503.rs",
+"ui/issues/issue-34569.rs",
+"ui/issues/issue-34571.rs",
+"ui/issues/issue-34751.rs",
+"ui/issues/issue-3477.rs",
+"ui/issues/issue-34780.rs",
+"ui/issues/issue-34796.rs",
+"ui/issues/issue-34839.rs",
+"ui/issues/issue-3500.rs",
+"ui/issues/issue-35139.rs",
+"ui/issues/issue-3521-2.rs",
+"ui/issues/issue-35241.rs",
+"ui/issues/issue-35423.rs",
+"ui/issues/issue-3556.rs",
+"ui/issues/issue-35570.rs",
+"ui/issues/issue-3559.rs",
+"ui/issues/issue-35600.rs",
+"ui/issues/issue-3563-3.rs",
+"ui/issues/issue-3574.rs",
+"ui/issues/issue-35815.rs",
+"ui/issues/issue-35976.rs",
+"ui/issues/issue-35988.rs",
+"ui/issues/issue-36023.rs",
+"ui/issues/issue-36036-associated-type-layout.rs",
+"ui/issues/issue-36075.rs",
+"ui/issues/issue-3609.rs",
+"ui/issues/issue-36116.rs",
+"ui/issues/issue-36260.rs",
+"ui/issues/issue-36278-prefix-nesting.rs",
+"ui/issues/issue-36299.rs",
+"ui/issues/issue-36379.rs",
+"ui/issues/issue-36400.rs",
+"ui/issues/issue-36401.rs",
+"ui/issues/issue-36474.rs",
+"ui/issues/issue-3656.rs",
+"ui/issues/issue-3668-non-constant-value-in-constant/issue-3668-2.rs",
+"ui/issues/issue-3668-non-constant-value-in-constant/issue-3668.rs",
+"ui/issues/issue-36744-bitcast-args-if-needed.rs",
+"ui/issues/issue-36786-resolve-call.rs",
+"ui/issues/issue-3680.rs",
+"ui/issues/issue-36816.rs",
+"ui/issues/issue-36836.rs",
+"ui/issues/issue-36839.rs",
+"ui/issues/issue-36856.rs",
+"ui/issues/issue-36936.rs",
+"ui/issues/issue-36954.rs",
+"ui/issues/issue-3702-2.rs",
+"ui/issues/issue-3702.rs",
+"ui/issues/issue-37051.rs",
+"ui/issues/issue-37109.rs",
+"ui/issues/issue-37131.rs",
+"ui/issues/issue-37311-type-length-limit/issue-37311.rs",
+"ui/issues/issue-3743.rs",
+"ui/issues/issue-37510.rs",
+"ui/issues/issue-3753.rs",
+"ui/issues/issue-37534.rs",
+"ui/issues/issue-37576.rs",
+"ui/issues/issue-37598.rs",
+"ui/issues/issue-3763.rs",
+"ui/issues/issue-37665.rs",
+"ui/issues/issue-37686.rs",
+"ui/issues/issue-37725.rs",
+"ui/issues/issue-37733.rs",
+"ui/issues/issue-3779.rs",
+"ui/issues/issue-37884.rs",
+"ui/issues/issue-38160.rs",
+"ui/issues/issue-38190.rs",
+"ui/issues/issue-38226.rs",
+"ui/issues/issue-38381.rs",
+"ui/issues/issue-38412.rs",
+"ui/issues/issue-38437.rs",
+"ui/issues/issue-38458.rs",
+"ui/issues/issue-3847.rs",
+"ui/issues/issue-38556.rs",
+"ui/issues/issue-38727.rs",
+"ui/issues/issue-3874.rs",
+"ui/issues/issue-38763.rs",
+"ui/issues/issue-38857.rs",
+"ui/issues/issue-38875/auxiliary/issue-38875-b.rs",
+"ui/issues/issue-38875/issue-38875.rs",
+"ui/issues/issue-3888-2.rs",
+"ui/issues/issue-38919.rs",
+"ui/issues/issue-38942.rs",
+"ui/issues/issue-3895.rs",
+"ui/issues/issue-38954.rs",
+"ui/issues/issue-38987.rs",
+"ui/issues/issue-39089.rs",
+"ui/issues/issue-39175.rs",
+"ui/issues/issue-39211.rs",
+"ui/issues/issue-39367.rs",
+"ui/issues/issue-39548.rs",
+"ui/issues/issue-39687.rs",
+"ui/issues/issue-39709.rs",
+"ui/issues/issue-3979-2.rs",
+"ui/issues/issue-3979-generics.rs",
+"ui/issues/issue-3979-xcrate.rs",
+"ui/issues/issue-3979.rs",
+"ui/issues/issue-39808.rs",
+"ui/issues/issue-39827.rs",
+"ui/issues/issue-39848.rs",
+"ui/issues/issue-3991.rs",
+"ui/issues/issue-3993.rs",
+"ui/issues/issue-39970.rs",
+"ui/issues/issue-39984.rs",
+"ui/issues/issue-40000.rs",
+"ui/issues/issue-40136.rs",
+"ui/issues/issue-40235.rs",
+"ui/issues/issue-4025.rs",
+"ui/issues/issue-40288-2.rs",
+"ui/issues/issue-40288.rs",
+"ui/issues/issue-40350.rs",
+"ui/issues/issue-40402-ref-hints/issue-40402-1.rs",
+"ui/issues/issue-40402-ref-hints/issue-40402-2.rs",
+"ui/issues/issue-40408.rs",
+"ui/issues/issue-40510-captured-variable-return/issue-40510-1.rs",
+"ui/issues/issue-40510-captured-variable-return/issue-40510-2.rs",
+"ui/issues/issue-40510-captured-variable-return/issue-40510-3.rs",
+"ui/issues/issue-40510-captured-variable-return/issue-40510-4.rs",
+"ui/issues/issue-40610.rs",
+"ui/issues/issue-40749.rs",
+"ui/issues/issue-40782.rs",
+"ui/issues/issue-40827.rs",
+"ui/issues/issue-40845.rs",
+"ui/issues/issue-40861.rs",
+"ui/issues/issue-40883.rs",
+"ui/issues/issue-40951.rs",
+"ui/issues/issue-41053.rs",
+"ui/issues/issue-41139.rs",
+"ui/issues/issue-41213.rs",
+"ui/issues/issue-41229-ref-str.rs",
+"ui/issues/issue-41272.rs",
+"ui/issues/issue-41298.rs",
+"ui/issues/issue-41479.rs",
+"ui/issues/issue-41498.rs",
+"ui/issues/issue-41549.rs",
+"ui/issues/issue-41604.rs",
+"ui/issues/issue-41628.rs",
+"ui/issues/issue-41652/auxiliary/issue-41652-b.rs",
+"ui/issues/issue-41652/issue-41652.rs",
+"ui/issues/issue-41677.rs",
+"ui/issues/issue-41696.rs",
+"ui/issues/issue-41726.rs",
+"ui/issues/issue-41742.rs",
+"ui/issues/issue-41744.rs",
+"ui/issues/issue-41849-variance-req.rs",
+"ui/issues/issue-41880.rs",
+"ui/issues/issue-41888.rs",
+"ui/issues/issue-41936-variance-coerce-unsized-cycle.rs",
+"ui/issues/issue-41974.rs",
+"ui/issues/issue-41998.rs",
+"ui/issues/issue-42007.rs",
+"ui/issues/issue-4208.rs",
+"ui/issues/issue-42106.rs",
+"ui/issues/issue-42148.rs",
+"ui/issues/issue-42210.rs",
+"ui/issues/issue-4228.rs",
+"ui/issues/issue-42312.rs",
+"ui/issues/issue-42453.rs",
+"ui/issues/issue-42467.rs",
+"ui/issues/issue-4252.rs",
+"ui/issues/issue-42552.rs",
+"ui/issues/issue-4265.rs",
+"ui/issues/issue-42755.rs",
+"ui/issues/issue-42796.rs",
+"ui/issues/issue-42880.rs",
+"ui/issues/issue-42956.rs",
+"ui/issues/issue-43057.rs",
+"ui/issues/issue-43162.rs",
+"ui/issues/issue-43205.rs",
+"ui/issues/issue-43250.rs",
+"ui/issues/issue-43291.rs",
+"ui/issues/issue-4333.rs",
+"ui/issues/issue-4335.rs",
+"ui/issues/issue-43355.rs",
+"ui/issues/issue-43357.rs",
+"ui/issues/issue-43420-no-over-suggest.rs",
+"ui/issues/issue-43424.rs",
+"ui/issues/issue-43431.rs",
+"ui/issues/issue-43483.rs",
+"ui/issues/issue-43692.rs",
+"ui/issues/issue-43806.rs",
+"ui/issues/issue-43853.rs",
+"ui/issues/issue-4387.rs",
+"ui/issues/issue-43910.rs",
+"ui/issues/issue-43923.rs",
+"ui/issues/issue-43925.rs",
+"ui/issues/issue-43926.rs",
+"ui/issues/issue-43988.rs",
+"ui/issues/issue-44023.rs",
+"ui/issues/issue-44056.rs",
+"ui/issues/issue-44078.rs",
+"ui/issues/issue-44216-add-instant.rs",
+"ui/issues/issue-44216-add-system-time.rs",
+"ui/issues/issue-44216-sub-instant.rs",
+"ui/issues/issue-44216-sub-system-time.rs",
+"ui/issues/issue-44239.rs",
+"ui/issues/issue-44247.rs",
+"ui/issues/issue-44405.rs",
+"ui/issues/issue-4464.rs",
+"ui/issues/issue-44730.rs",
+"ui/issues/issue-44851.rs",
+"ui/issues/issue-4517.rs",
+"ui/issues/issue-4541.rs",
+"ui/issues/issue-4542.rs",
+"ui/issues/issue-45425.rs",
+"ui/issues/issue-4545.rs",
+"ui/issues/issue-45510.rs",
+"ui/issues/issue-45562.rs",
+"ui/issues/issue-45697-1.rs",
+"ui/issues/issue-45697.rs",
+"ui/issues/issue-45730.rs",
+"ui/issues/issue-45731.rs",
+"ui/issues/issue-45801.rs",
+"ui/issues/issue-45965.rs",
+"ui/issues/issue-46069.rs",
+"ui/issues/issue-46101.rs",
+"ui/issues/issue-46302.rs",
+"ui/issues/issue-46311.rs",
+"ui/issues/issue-46332.rs",
+"ui/issues/issue-46471-1.rs",
+"ui/issues/issue-46472.rs",
+"ui/issues/issue-46604.rs",
+"ui/issues/issue-46756-consider-borrowing-cast-or-binexpr.rs",
+"ui/issues/issue-46771.rs",
+"ui/issues/issue-46855.rs",
+"ui/issues/issue-46964.rs",
+"ui/issues/issue-46983.rs",
+"ui/issues/issue-47073-zero-padded-tuple-struct-indices.rs",
+"ui/issues/issue-47094.rs",
+"ui/issues/issue-47184.rs",
+"ui/issues/issue-47309.rs",
+"ui/issues/issue-4734.rs",
+"ui/issues/issue-4735.rs",
+"ui/issues/issue-4736.rs",
+"ui/issues/issue-47364.rs",
+"ui/issues/issue-47377.rs",
+"ui/issues/issue-47380.rs",
+"ui/issues/issue-47486.rs",
+"ui/issues/issue-4759-1.rs",
+"ui/issues/issue-4759.rs",
+"ui/issues/issue-47638.rs",
+"ui/issues/issue-47673.rs",
+"ui/issues/issue-47703-1.rs",
+"ui/issues/issue-47703-tuple.rs",
+"ui/issues/issue-47703.rs",
+"ui/issues/issue-47715.rs",
+"ui/issues/issue-47722.rs",
+"ui/issues/issue-48006.rs",
+"ui/issues/issue-48131.rs",
+"ui/issues/issue-48132.rs",
+"ui/issues/issue-48159.rs",
+"ui/issues/issue-48276.rs",
+"ui/issues/issue-4830.rs",
+"ui/issues/issue-48364.rs",
+"ui/issues/issue-48728.rs",
+"ui/issues/issue-4875.rs",
+"ui/issues/issue-48838.rs",
+"ui/issues/issue-48984.rs",
+"ui/issues/issue-49298.rs",
+"ui/issues/issue-4935.rs",
+"ui/issues/issue-49544.rs",
+"ui/issues/issue-49632.rs",
+"ui/issues/issue-4968.rs",
+"ui/issues/issue-4972.rs",
+"ui/issues/issue-49824.rs",
+"ui/issues/issue-49854.rs",
+"ui/issues/issue-49919.rs",
+"ui/issues/issue-49934-errors.rs",
+"ui/issues/issue-49934.rs",
+"ui/issues/issue-49955.rs",
+"ui/issues/issue-49973.rs",
+"ui/issues/issue-50187.rs",
+"ui/issues/issue-50403.rs",
+"ui/issues/issue-50411.rs",
+"ui/issues/issue-50415.rs",
+"ui/issues/issue-50442.rs",
+"ui/issues/issue-50471.rs",
+"ui/issues/issue-50518.rs",
+"ui/issues/issue-50571.rs",
+"ui/issues/issue-50581.rs",
+"ui/issues/issue-50582.rs",
+"ui/issues/issue-50585.rs",
+"ui/issues/issue-50600.rs",
+"ui/issues/issue-50618.rs",
+"ui/issues/issue-5062.rs",
+"ui/issues/issue-5067.rs",
+"ui/issues/issue-50688.rs",
+"ui/issues/issue-50714-1.rs",
+"ui/issues/issue-50714.rs",
+"ui/issues/issue-50761.rs",
+"ui/issues/issue-50781.rs",
+"ui/issues/issue-50802.rs",
+"ui/issues/issue-50811.rs",
+"ui/issues/issue-5100.rs",
+"ui/issues/issue-51022.rs",
+"ui/issues/issue-51044.rs",
+"ui/issues/issue-51102.rs",
+"ui/issues/issue-51116.rs",
+"ui/issues/issue-51154.rs",
+"ui/issues/issue-51515.rs",
+"ui/issues/issue-5153.rs",
+"ui/issues/issue-51632-try-desugar-incompatible-types.rs",
+"ui/issues/issue-51655.rs",
+"ui/issues/issue-51714.rs",
+"ui/issues/issue-51798.rs",
+"ui/issues/issue-51874.rs",
+"ui/issues/issue-51907.rs",
+"ui/issues/issue-5192.rs",
+"ui/issues/issue-51947.rs",
+"ui/issues/issue-52049.rs",
+"ui/issues/issue-52126-assign-op-invariance.rs",
+"ui/issues/issue-52262.rs",
+"ui/issues/issue-5239-1.rs",
+"ui/issues/issue-5239-2.rs",
+"ui/issues/issue-52489.rs",
+"ui/issues/issue-52533.rs",
+"ui/issues/issue-52717.rs",
+"ui/issues/issue-5280.rs",
+"ui/issues/issue-5315.rs",
+"ui/issues/issue-5321-immediates-with-bare-self.rs",
+"ui/issues/issue-53251.rs",
+"ui/issues/issue-53275.rs",
+"ui/issues/issue-53300.rs",
+"ui/issues/issue-53333.rs",
+"ui/issues/issue-53348.rs",
+"ui/issues/issue-53419.rs",
+"ui/issues/issue-53498.rs",
+"ui/issues/issue-53568.rs",
+"ui/issues/issue-5358-1.rs",
+"ui/issues/issue-53728.rs",
+"ui/issues/issue-53843.rs",
+"ui/issues/issue-54044.rs",
+"ui/issues/issue-54062.rs",
+"ui/issues/issue-54094.rs",
+"ui/issues/issue-5439.rs",
+"ui/issues/issue-54410.rs",
+"ui/issues/issue-54462-mutable-noalias-correctness.rs",
+"ui/issues/issue-54477-reduced-2.rs",
+"ui/issues/issue-54696.rs",
+"ui/issues/issue-5518.rs",
+"ui/issues/issue-5521.rs",
+"ui/issues/issue-55376.rs",
+"ui/issues/issue-55380.rs",
+"ui/issues/issue-5550.rs",
+"ui/issues/issue-5554.rs",
+"ui/issues/issue-55587.rs",
+"ui/issues/issue-5572.rs",
+"ui/issues/issue-55731.rs",
+"ui/issues/issue-56128.rs",
+"ui/issues/issue-56175.rs",
+"ui/issues/issue-56199.rs",
+"ui/issues/issue-56229.rs",
+"ui/issues/issue-56237.rs",
+"ui/issues/issue-5666.rs",
+"ui/issues/issue-56806.rs",
+"ui/issues/issue-56835.rs",
+"ui/issues/issue-56870.rs",
+"ui/issues/issue-5688.rs",
+"ui/issues/issue-56943.rs",
+"ui/issues/issue-5708.rs",
+"ui/issues/issue-57156.rs",
+"ui/issues/issue-57162.rs",
+"ui/issues/issue-5718.rs",
+"ui/issues/issue-57198-pass.rs",
+"ui/issues/issue-57271.rs",
+"ui/issues/issue-57362-1.rs",
+"ui/issues/issue-57362-2.rs",
+"ui/issues/issue-57399-self-return-impl-trait.rs",
+"ui/issues/issue-5741.rs",
+"ui/issues/issue-5754.rs",
+"ui/issues/issue-57741-dereference-boxed-value/issue-57741-1.rs",
+"ui/issues/issue-57741-dereference-boxed-value/issue-57741.rs",
+"ui/issues/issue-57781.rs",
+"ui/issues/issue-57924.rs",
+"ui/issues/issue-58212.rs",
+"ui/issues/issue-58375-monomorphize-default-impls.rs",
+"ui/issues/issue-5844.rs",
+"ui/issues/issue-58463.rs",
+"ui/issues/issue-58712.rs",
+"ui/issues/issue-58734.rs",
+"ui/issues/issue-5883.rs",
+"ui/issues/issue-5884.rs",
+"ui/issues/issue-58857.rs",
+"ui/issues/issue-5900.rs",
+"ui/issues/issue-59020.rs",
+"ui/issues/issue-5917.rs",
+"ui/issues/issue-59326.rs",
+"ui/issues/issue-59488.rs",
+"ui/issues/issue-59494.rs",
+"ui/issues/issue-5950.rs",
+"ui/issues/issue-59756.rs",
+"ui/issues/issue-5988.rs",
+"ui/issues/issue-5997-outer-generic-parameter/issue-5997-enum.rs",
+"ui/issues/issue-5997-outer-generic-parameter/issue-5997-struct.rs",
+"ui/issues/issue-5997-outer-generic-parameter/issue-5997.rs",
+"ui/issues/issue-60218.rs",
+"ui/issues/issue-60622.rs",
+"ui/issues/issue-60989.rs",
+"ui/issues/issue-61106.rs",
+"ui/issues/issue-61108.rs",
+"ui/issues/issue-6117.rs",
+"ui/issues/issue-6130.rs",
+"ui/issues/issue-61475.rs",
+"ui/issues/issue-6153.rs",
+"ui/issues/issue-61623.rs",
+"ui/issues/issue-61894.rs",
+"ui/issues/issue-62480.rs",
+"ui/issues/issue-6318.rs",
+"ui/issues/issue-6344-let.rs",
+"ui/issues/issue-6344-match.rs",
+"ui/issues/issue-63983.rs",
+"ui/issues/issue-64430.rs",
+"ui/issues/issue-64559.rs",
+"ui/issues/issue-64593.rs",
+"ui/issues/issue-64792-bad-unicode-ctor.rs",
+"ui/issues/issue-65131.rs",
+"ui/issues/issue-65230.rs",
+"ui/issues/issue-65462.rs",
+"ui/issues/issue-6557.rs",
+"ui/issues/issue-6596-2.rs",
+"ui/issues/issue-66308.rs",
+"ui/issues/issue-66353.rs",
+"ui/issues/issue-66667-function-cmp-cycle.rs",
+"ui/issues/issue-66702-break-outside-loop-val.rs",
+"ui/issues/issue-66706.rs",
+"ui/issues/issue-66923-show-error-for-correct-call.rs",
+"ui/issues/issue-67039-unsound-pin-partialeq.rs",
+"ui/issues/issue-6738.rs",
+"ui/issues/issue-67535.rs",
+"ui/issues/issue-67552.rs",
+"ui/issues/issue-68010-large-zst-consts.rs",
+"ui/issues/issue-68696-catch-during-unwind.rs",
+"ui/issues/issue-6892.rs",
+"ui/issues/issue-68951.rs",
+"ui/issues/issue-6898.rs",
+"ui/issues/issue-69130.rs",
+"ui/issues/issue-6919.rs",
+"ui/issues/issue-69306.rs",
+"ui/issues/issue-6936.rs",
+"ui/issues/issue-69455.rs",
+"ui/issues/issue-69602-type-err-during-codegen-ice.rs",
+"ui/issues/issue-69683.rs",
+"ui/issues/issue-70093/issue-70093-link-directives.rs",
+"ui/issues/issue-70093/issue-70093.rs",
+"ui/issues/issue-7012.rs",
+"ui/issues/issue-70381.rs",
+"ui/issues/issue-7044.rs",
+"ui/issues/issue-7061.rs",
+"ui/issues/issue-70673.rs",
+"ui/issues/issue-70724-add_type_neq_err_label-unwrap.rs",
+"ui/issues/issue-70746.rs",
+"ui/issues/issue-7092.rs",
+"ui/issues/issue-71406.rs",
+"ui/issues/issue-71676-suggest-deref/issue-71676-1.rs",
+"ui/issues/issue-71676-suggest-deref/issue-71676-2.rs",
+"ui/issues/issue-7178.rs",
+"ui/issues/issue-72002.rs",
+"ui/issues/issue-72076.rs",
+"ui/issues/issue-72278.rs",
+"ui/issues/issue-7246.rs",
+"ui/issues/issue-7268.rs",
+"ui/issues/issue-72839-error-overflow.rs",
+"ui/issues/issue-72933-match-stack-overflow.rs",
+"ui/issues/issue-73112.rs",
+"ui/issues/issue-73229.rs",
+"ui/issues/issue-7344.rs",
+"ui/issues/issue-7364.rs",
+"ui/issues/issue-74082.rs",
+"ui/issues/issue-74564-if-expr-stack-overflow.rs",
+"ui/issues/issue-7519-match-unit-in-arg.rs",
+"ui/issues/issue-75283.rs",
+"ui/issues/issue-7563.rs",
+"ui/issues/issue-75704.rs",
+"ui/issues/issue-7575.rs",
+"ui/issues/issue-76042.rs",
+"ui/issues/issue-7607-1.rs",
+"ui/issues/issue-7607-2.rs",
+"ui/issues/issue-76077-inaccesible-private-fields/issue-76077-1.rs",
+"ui/issues/issue-76077-inaccesible-private-fields/issue-76077.rs",
+"ui/issues/issue-76191.rs",
+"ui/issues/issue-7660.rs",
+"ui/issues/issue-7663.rs",
+"ui/issues/issue-7673-cast-generically-implemented-trait.rs",
+"ui/issues/issue-77218/issue-77218-2.rs",
+"ui/issues/issue-77218/issue-77218.rs",
+"ui/issues/issue-7784.rs",
+"ui/issues/issue-77919.rs",
+"ui/issues/issue-78192.rs",
+"ui/issues/issue-78622.rs",
+"ui/issues/issue-7867.rs",
+"ui/issues/issue-78957.rs",
+"ui/issues/issue-7899.rs",
+"ui/issues/issue-7911.rs",
+"ui/issues/issue-7950.rs",
+"ui/issues/issue-7970a.rs",
+"ui/issues/issue-8044.rs",
+"ui/issues/issue-80607.rs",
+"ui/issues/issue-81584.rs",
+"ui/issues/issue-8171-default-method-self-inherit-builtin-trait.rs",
+"ui/issues/issue-81918.rs",
+"ui/issues/issue-8248.rs",
+"ui/issues/issue-8249.rs",
+"ui/issues/issue-8259.rs",
+"ui/issues/issue-83048.rs",
+"ui/issues/issue-8391.rs",
+"ui/issues/issue-8398.rs",
+"ui/issues/issue-8401.rs",
+"ui/issues/issue-8498.rs",
+"ui/issues/issue-8506.rs",
+"ui/issues/issue-8521.rs",
+"ui/issues/issue-85461.rs",
+"ui/issues/issue-8578.rs",
+"ui/issues/issue-86756.rs",
+"ui/issues/issue-87199.rs",
+"ui/issues/issue-8727.rs",
+"ui/issues/issue-87490.rs",
+"ui/issues/issue-8761.rs",
+"ui/issues/issue-8767.rs",
+"ui/issues/issue-87707.rs",
+"ui/issues/issue-8783.rs",
+"ui/issues/issue-88150.rs",
+"ui/issues/issue-8860.rs",
+"ui/issues/issue-8898.rs",
+"ui/issues/issue-9047.rs",
+"ui/issues/issue-9110.rs",
+"ui/issues/issue-9123.rs",
+"ui/issues/issue-9129.rs",
+"ui/issues/issue-91489.rs",
+"ui/issues/issue-9155.rs",
+"ui/issues/issue-9188.rs",
+"ui/issues/issue-9243.rs",
+"ui/issues/issue-9249.rs",
+"ui/issues/issue-9259.rs",
+"ui/issues/issue-92741.rs",
+"ui/issues/issue-9382.rs",
+"ui/issues/issue-9446.rs",
+"ui/issues/issue-9575.rs",
+"ui/issues/issue-9719.rs",
+"ui/issues/issue-9725.rs",
+"ui/issues/issue-9737.rs",
+"ui/issues/issue-9814.rs",
+"ui/issues/issue-98299.rs",
+"ui/issues/issue-9837.rs",
+"ui/issues/issue-9906.rs",
+"ui/issues/issue-9918.rs",
+"ui/issues/issue-9942.rs",
+"ui/issues/issue-9951.rs",
+"ui/issues/issue-9968.rs",
+"ui/issues/issue-99838.rs",
+"ui/iterators/issue-28098.rs",
+"ui/iterators/issue-58952-filter-type-length.rs",
+"ui/lang-items/issue-19660.rs",
+"ui/lang-items/issue-83471.rs",
+"ui/lang-items/issue-87573.rs",
+"ui/late-bound-lifetimes/issue-36381.rs",
+"ui/late-bound-lifetimes/issue-47511.rs",
+"ui/late-bound-lifetimes/issue-80618.rs",
+"ui/layout/issue-112048-unsizing-field-order.rs",
+"ui/layout/issue-112048-unsizing-niche.rs",
+"ui/layout/issue-113941.rs",
+"ui/layout/issue-60431-unsized-tail-behind-projection.rs",
+"ui/layout/issue-84108.rs",
+"ui/layout/issue-96158-scalarpair-payload-might-be-uninit.rs",
+"ui/layout/issue-96185-overaligned-enum.rs",
+"ui/let-else/issue-100103.rs",
+"ui/let-else/issue-102317.rs",
+"ui/let-else/issue-94176.rs",
+"ui/let-else/issue-99975.rs",
+"ui/lifetimes/auxiliary/issue-91763-aux.rs",
+"ui/lifetimes/issue-103582-hint-for-missing-lifetime-bound-on-trait-object-using-type-alias.rs",
+"ui/lifetimes/issue-104432-unused-lifetimes-in-expansion.rs",
+"ui/lifetimes/issue-105227.rs",
+"ui/lifetimes/issue-105507.rs",
+"ui/lifetimes/issue-105675.rs",
+"ui/lifetimes/issue-107492-default-value-for-lifetime.rs",
+"ui/lifetimes/issue-107988.rs",
+"ui/lifetimes/issue-17728.rs",
+"ui/lifetimes/issue-19707.rs",
+"ui/lifetimes/issue-26638.rs",
+"ui/lifetimes/issue-34979.rs",
+"ui/lifetimes/issue-36744-without-calls.rs",
+"ui/lifetimes/issue-54378.rs",
+"ui/lifetimes/issue-55796.rs",
+"ui/lifetimes/issue-64173-unused-lifetimes.rs",
+"ui/lifetimes/issue-67498.rs",
+"ui/lifetimes/issue-69314.rs",
+"ui/lifetimes/issue-70917-lifetimes-in-fn-def.rs",
+"ui/lifetimes/issue-76168-hr-outlives-2.rs",
+"ui/lifetimes/issue-76168-hr-outlives-3.rs",
+"ui/lifetimes/issue-76168-hr-outlives.rs",
+"ui/lifetimes/issue-77175.rs",
+"ui/lifetimes/issue-79187-2.rs",
+"ui/lifetimes/issue-79187.rs",
+"ui/lifetimes/issue-83737-binders-across-types.rs",
+"ui/lifetimes/issue-83737-erasing-bound-vars.rs",
+"ui/lifetimes/issue-83753-invalid-associated-type-supertrait-hrtb.rs",
+"ui/lifetimes/issue-83907-invalid-fn-like-path.rs",
+"ui/lifetimes/issue-84398.rs",
+"ui/lifetimes/issue-84604.rs",
+"ui/lifetimes/issue-90170-elision-mismatch.rs",
+"ui/lifetimes/issue-90600-expected-return-static-indirect.rs",
+"ui/lifetimes/issue-91763.rs",
+"ui/lifetimes/issue-93911.rs",
+"ui/lifetimes/issue-95023.rs",
+"ui/lifetimes/issue-97193.rs",
+"ui/lifetimes/issue-97194.rs",
+"ui/lifetimes/lifetime-errors/issue_74400.rs",
+"ui/limits/issue-15919-32.rs",
+"ui/limits/issue-15919-64.rs",
+"ui/limits/issue-17913.rs",
+"ui/limits/issue-55878.rs",
+"ui/limits/issue-56762.rs",
+"ui/limits/issue-69485-var-size-diffs-too-large.rs",
+"ui/limits/issue-75158-64.rs",
+"ui/linkage-attr/issue-10755.rs",
+"ui/linkage-attr/issue-109144.rs",
+"ui/lint/dead-code/issue-41883.rs",
+"ui/lint/dead-code/issue-59003.rs",
+"ui/lint/dead-code/issue-68408-false-positive.rs",
+"ui/lint/dead-code/issue-85071-2.rs",
+"ui/lint/dead-code/issue-85071.rs",
+"ui/lint/dead-code/issue-85255.rs",
+"ui/lint/issue-101284.rs",
+"ui/lint/issue-102705.rs",
+"ui/lint/issue-103317.rs",
+"ui/lint/issue-103435-extra-parentheses.rs",
+"ui/lint/issue-104392.rs",
+"ui/lint/issue-104897.rs",
+"ui/lint/issue-106991.rs",
+"ui/lint/issue-108155.rs",
+"ui/lint/issue-109152.rs",
+"ui/lint/issue-109529.rs",
+"ui/lint/issue-110573.rs",
+"ui/lint/issue-111359.rs",
+"ui/lint/issue-112489.rs",
+"ui/lint/issue-117949.rs",
+"ui/lint/issue-121070-let-range.rs",
+"ui/lint/issue-14309.rs",
+"ui/lint/issue-14837.rs",
+"ui/lint/issue-17718-const-naming.rs",
+"ui/lint/issue-1866.rs",
+"ui/lint/issue-19102.rs",
+"ui/lint/issue-20343.rs",
+"ui/lint/issue-30302.rs",
+"ui/lint/issue-31924-non-snake-ffi.rs",
+"ui/lint/issue-34798.rs",
+"ui/lint/issue-35075.rs",
+"ui/lint/issue-47775-nested-macro-unnecessary-parens-arg.rs",
+"ui/lint/issue-49588-non-shorthand-field-patterns-in-pattern-macro.rs",
+"ui/lint/issue-54099-camel-case-underscore-types.rs",
+"ui/lint/issue-57410-1.rs",
+"ui/lint/issue-57410.rs",
+"ui/lint/issue-63364.rs",
+"ui/lint/issue-66362-no-snake-case-warning-for-field-puns.rs",
+"ui/lint/issue-70819-dont-override-forbid-in-same-scope.rs",
+"ui/lint/issue-79546-fuel-ice.rs",
+"ui/lint/issue-79744.rs",
+"ui/lint/issue-80988.rs",
+"ui/lint/issue-81218.rs",
+"ui/lint/issue-83477.rs",
+"ui/lint/issue-87274-paren-parent.rs",
+"ui/lint/issue-89469.rs",
+"ui/lint/issue-90614-accept-allow-text-direction-codepoint-in-comment-lint.rs",
+"ui/lint/issue-97094.rs",
+"ui/lint/issue-99387.rs",
+"ui/lint/let_underscore/issue-119696-err-on-fn.rs",
+"ui/lint/let_underscore/issue-119697-extra-let.rs",
+"ui/lint/must_not_suspend/issue-89562.rs",
+"ui/lint/unused/issue-103320-must-use-ops.rs",
+"ui/lint/unused/issue-104397.rs",
+"ui/lint/unused/issue-105061-array-lint.rs",
+"ui/lint/unused/issue-105061-should-lint.rs",
+"ui/lint/unused/issue-105061.rs",
+"ui/lint/unused/issue-117142-invalid-remove-parens.rs",
+"ui/lint/unused/issue-117284-arg-in-macro.rs",
+"ui/lint/unused/issue-119383-if-let-guard.rs",
+"ui/lint/unused/issue-30730.rs",
+"ui/lint/unused/issue-46576.rs",
+"ui/lint/unused/issue-47390-unused-variable-in-struct-pattern.rs",
+"ui/lint/unused/issue-54180-unused-ref-field.rs",
+"ui/lint/unused/issue-54538-unused-parens-lint.rs",
+"ui/lint/unused/issue-59896.rs",
+"ui/lint/unused/issue-67691-unused-field-in-or-pattern.rs",
+"ui/lint/unused/issue-70041.rs",
+"ui/lint/unused/issue-71290-unused-paren-binop.rs",
+"ui/lint/unused/issue-74883-unused-paren-baren-yield.rs",
+"ui/lint/unused/issue-81314-unused-span-ident.rs",
+"ui/lint/unused/issue-85913.rs",
+"ui/lint/unused/issue-88519-unused-paren.rs",
+"ui/lint/unused/issue-90807-unused-paren-error.rs",
+"ui/lint/unused/issue-90807-unused-paren.rs",
+"ui/lint/unused/issue-92751.rs",
+"ui/lint/unused/issue-96606.rs",
+"ui/lint/use-redundant/issue-92904.rs",
+"ui/loops/issue-50576.rs",
+"ui/loops/issue-69225-SCEVAddExpr-wrap-flag.rs",
+"ui/loops/issue-69225-layout-repeated-checked-add.rs",
+"ui/loops/issue-82916.rs",
+"ui/lowering/issue-121108.rs",
+"ui/lowering/issue-96847.rs",
+"ui/lto/issue-100772.rs",
+"ui/lto/issue-105637.rs",
+"ui/lto/issue-11154.rs",
+"ui/macros/auxiliary/issue-100199.rs",
+"ui/macros/auxiliary/issue-19163.rs",
+"ui/macros/auxiliary/issue-40469.rs",
+"ui/macros/auxiliary/issue-75982.rs",
+"ui/macros/issue-100199.rs",
+"ui/macros/issue-102878.rs",
+"ui/macros/issue-103529.rs",
+"ui/macros/issue-104769-concat_bytes-invalid-literal.rs",
+"ui/macros/issue-105011.rs",
+"ui/macros/issue-10536.rs",
+"ui/macros/issue-106837.rs",
+"ui/macros/issue-109237.rs",
+"ui/macros/issue-111749.rs",
+"ui/macros/issue-112342-1.rs",
+"ui/macros/issue-112342-2.rs",
+"ui/macros/issue-118048.rs",
+"ui/macros/issue-118786.rs",
+"ui/macros/issue-16098.rs",
+"ui/macros/issue-19163.rs",
+"ui/macros/issue-21356.rs",
+"ui/macros/issue-22463.rs",
+"ui/macros/issue-25274.rs",
+"ui/macros/issue-25385.rs",
+"ui/macros/issue-26094.rs",
+"ui/macros/issue-26322.rs",
+"ui/macros/issue-2804-2.rs",
+"ui/macros/issue-2804.rs",
+"ui/macros/issue-29084.rs",
+"ui/macros/issue-30143.rs",
+"ui/macros/issue-33185.rs",
+"ui/macros/issue-34171.rs",
+"ui/macros/issue-34421-mac-expr-bad-stmt-good-add-semi.rs",
+"ui/macros/issue-35450.rs",
+"ui/macros/issue-37175.rs",
+"ui/macros/issue-38715.rs",
+"ui/macros/issue-39388.rs",
+"ui/macros/issue-39404.rs",
+"ui/macros/issue-39467.rs",
+"ui/macros/issue-40469.rs",
+"ui/macros/issue-40770.rs",
+"ui/macros/issue-41776.rs",
+"ui/macros/issue-41803.rs",
+"ui/macros/issue-42954.rs",
+"ui/macros/issue-44127.rs",
+"ui/macros/issue-46438.rs",
+"ui/macros/issue-5060.rs",
+"ui/macros/issue-51848.rs",
+"ui/macros/issue-52169.rs",
+"ui/macros/issue-54441.rs",
+"ui/macros/issue-57597.rs",
+"ui/macros/issue-58490.rs",
+"ui/macros/issue-61033-1.rs",
+"ui/macros/issue-61033-2.rs",
+"ui/macros/issue-61053-different-kleene.rs",
+"ui/macros/issue-61053-duplicate-binder.rs",
+"ui/macros/issue-61053-missing-repetition.rs",
+"ui/macros/issue-61053-unbound.rs",
+"ui/macros/issue-63102.rs",
+"ui/macros/issue-6596-1.rs",
+"ui/macros/issue-68058.rs",
+"ui/macros/issue-68060.rs",
+"ui/macros/issue-69396-const-no-type-in-macro.rs",
+"ui/macros/issue-69838-mods-relative-to-included-path.rs",
+"ui/macros/issue-70446.rs",
+"ui/macros/issue-75982-foreign-macro-weird-mod.rs",
+"ui/macros/issue-77475.rs",
+"ui/macros/issue-78325-inconsistent-resolution.rs",
+"ui/macros/issue-78333.rs",
+"ui/macros/issue-78892-substitution-in-statement-attr.rs",
+"ui/macros/issue-81006.rs",
+"ui/macros/issue-83340.rs",
+"ui/macros/issue-83344.rs",
+"ui/macros/issue-84195-lint-anon-const.rs",
+"ui/macros/issue-84429-matches-edition.rs",
+"ui/macros/issue-84632-eager-expansion-recursion-limit.rs",
+"ui/macros/issue-86082-option-env-invalid-char.rs",
+"ui/macros/issue-86865.rs",
+"ui/macros/issue-8709.rs",
+"ui/macros/issue-87877.rs",
+"ui/macros/issue-88206.rs",
+"ui/macros/issue-88228.rs",
+"ui/macros/issue-8851.rs",
+"ui/macros/issue-92267.rs",
+"ui/macros/issue-95267.rs",
+"ui/macros/issue-95533.rs",
+"ui/macros/issue-98466-allow.rs",
+"ui/macros/issue-98466.rs",
+"ui/macros/issue-98790.rs",
+"ui/macros/issue-99261.rs",
+"ui/macros/issue-99265.rs",
+"ui/macros/issue-99907.rs",
+"ui/macros/rfc-3086-metavar-expr/issue-111904.rs",
+"ui/malformed/issue-107423-unused-delim-only-one-no-pair.rs",
+"ui/malformed/issue-69341-malformed-derive-inert.rs",
+"ui/marker_trait_attr/issue-61651-type-mismatch.rs",
+"ui/match/issue-112438.rs",
+"ui/match/issue-113012.rs",
+"ui/match/issue-11319.rs",
+"ui/match/issue-114691.rs",
+"ui/match/issue-115681.rs",
+"ui/match/issue-11940.rs",
+"ui/match/issue-12552.rs",
+"ui/match/issue-18060.rs",
+"ui/match/issue-26251.rs",
+"ui/match/issue-26996.rs",
+"ui/match/issue-27021.rs",
+"ui/match/issue-33498.rs",
+"ui/match/issue-42679.rs",
+"ui/match/issue-46920-byte-array-patterns.rs",
+"ui/match/issue-5530.rs",
+"ui/match/issue-56685.rs",
+"ui/match/issue-70972-dyn-trait.rs",
+"ui/match/issue-72680.rs",
+"ui/match/issue-72896-non-partial-eq-const.rs",
+"ui/match/issue-74050-end-span.rs",
+"ui/match/issue-82392.rs",
+"ui/match/issue-82866.rs",
+"ui/match/issue-84434.rs",
+"ui/match/issue-91058.rs",
+"ui/match/issue-92100.rs",
+"ui/methods/issue-3707.rs",
+"ui/methods/issues/issue-105732.rs",
+"ui/methods/issues/issue-61525.rs",
+"ui/methods/issues/issue-84495.rs",
+"ui/methods/issues/issue-90315.rs",
+"ui/methods/issues/issue-94581.rs",
+"ui/mir/auxiliary/issue_76375_aux.rs",
+"ui/mir/issue-101844.rs",
+"ui/mir/issue-102389.rs",
+"ui/mir/issue-105809.rs",
+"ui/mir/issue-106062.rs",
+"ui/mir/issue-107678-projection-with-lifetime.rs",
+"ui/mir/issue-107691.rs",
+"ui/mir/issue-109004-drop-large-array.rs",
+"ui/mir/issue-109743.rs",
+"ui/mir/issue-112269.rs",
+"ui/mir/issue-121103.rs",
+"ui/mir/issue-29227.rs",
+"ui/mir/issue-46845.rs",
+"ui/mir/issue-60390.rs",
+"ui/mir/issue-66851.rs",
+"ui/mir/issue-66930.rs",
+"ui/mir/issue-67639-normalization-ice.rs",
+"ui/mir/issue-67710-inline-projection.rs",
+"ui/mir/issue-67947.rs",
+"ui/mir/issue-68841.rs",
+"ui/mir/issue-71793-inline-args-storage.rs",
+"ui/mir/issue-73914.rs",
+"ui/mir/issue-74739.rs",
+"ui/mir/issue-75053.rs",
+"ui/mir/issue-75419-validation-impl-trait.rs",
+"ui/mir/issue-76248.rs",
+"ui/mir/issue-76375.rs",
+"ui/mir/issue-76740-copy-propagation.rs",
+"ui/mir/issue-76803-branches-not-same.rs",
+"ui/mir/issue-77002.rs",
+"ui/mir/issue-77359-simplify-arm-identity.rs",
+"ui/mir/issue-77911.rs",
+"ui/mir/issue-78496.rs",
+"ui/mir/issue-80949.rs",
+"ui/mir/issue-83499-input-output-iteration-ice.rs",
+"ui/mir/issue-89485.rs",
+"ui/mir/issue-91745.rs",
+"ui/mir/issue-92893.rs",
+"ui/mir/issue-99852.rs",
+"ui/mir/issue-99866.rs",
+"ui/mir/issue66339.rs",
+"ui/mir/validate/issue-95978-validator-lifetime-comparison.rs",
+"ui/mismatched_types/issue-106182.rs",
+"ui/mismatched_types/issue-112036.rs",
+"ui/mismatched_types/issue-118145-unwrap-for-shorthand.rs",
+"ui/mismatched_types/issue-118510.rs",
+"ui/mismatched_types/issue-13033.rs",
+"ui/mismatched_types/issue-19109.rs",
+"ui/mismatched_types/issue-26480.rs",
+"ui/mismatched_types/issue-35030.rs",
+"ui/mismatched_types/issue-36053-2.rs",
+"ui/mismatched_types/issue-38371-unfixable.rs",
+"ui/mismatched_types/issue-38371.rs",
+"ui/mismatched_types/issue-47706-trait.rs",
+"ui/mismatched_types/issue-47706.rs",
+"ui/mismatched_types/issue-74918-missing-lifetime.rs",
+"ui/mismatched_types/issue-75361-mismatched-impl.rs",
+"ui/mismatched_types/issue-84976.rs",
+"ui/missing-trait-bounds/auxiliary/issue-69725.rs",
+"ui/missing-trait-bounds/issue-35677.rs",
+"ui/missing-trait-bounds/issue-69725.rs",
+"ui/modules/issue-107649.rs",
+"ui/modules/issue-56411-aux.rs",
+"ui/modules/issue-56411.rs",
+"ui/moves/issue-22536-copy-mustnt-zero.rs",
+"ui/moves/issue-34721.rs",
+"ui/moves/issue-46099-move-in-macro.rs",
+"ui/moves/issue-72649-uninit-in-loop.rs",
+"ui/moves/issue-75904-move-closure-loop.rs",
+"ui/moves/issue-99470-move-out-of-some.rs",
+"ui/never_type/issue-10176.rs",
+"ui/never_type/issue-13352.rs",
+"ui/never_type/issue-2149.rs",
+"ui/never_type/issue-44402.rs",
+"ui/never_type/issue-51506.rs",
+"ui/never_type/issue-52443.rs",
+"ui/never_type/issue-5500-1.rs",
+"ui/never_type/issue-96335.rs",
+"ui/nll/closure-requirements/issue-58127-mutliple-requirements.rs",
+"ui/nll/issue-112604-closure-output-normalize.rs",
+"ui/nll/issue-16223.rs",
+"ui/nll/issue-21114-ebfull.rs",
+"ui/nll/issue-21114-kixunil.rs",
+"ui/nll/issue-21232-partial-init-and-erroneous-use.rs",
+"ui/nll/issue-21232-partial-init-and-use.rs",
+"ui/nll/issue-22323-temp-destruction.rs",
+"ui/nll/issue-24535-allow-mutable-borrow-in-match-guard.rs",
+"ui/nll/issue-27282-move-match-input-into-guard.rs",
+"ui/nll/issue-27282-move-ref-mut-into-guard.rs",
+"ui/nll/issue-27282-mutate-before-diverging-arm-1.rs",
+"ui/nll/issue-27282-mutate-before-diverging-arm-2.rs",
+"ui/nll/issue-27282-mutate-before-diverging-arm-3.rs",
+"ui/nll/issue-27282-mutation-in-guard.rs",
+"ui/nll/issue-27282-reborrow-ref-mut-in-guard.rs",
+"ui/nll/issue-27583.rs",
+"ui/nll/issue-27868.rs",
+"ui/nll/issue-30104.rs",
+"ui/nll/issue-30438-a.rs",
+"ui/nll/issue-30438-b.rs",
+"ui/nll/issue-30438-c.rs",
+"ui/nll/issue-31567.rs",
+"ui/nll/issue-32382-index-assoc-type-with-lifetime.rs",
+"ui/nll/issue-42574-diagnostic-in-nested-closure.rs",
+"ui/nll/issue-43058.rs",
+"ui/nll/issue-45157.rs",
+"ui/nll/issue-45696-long-live-borrows-in-boxes.rs",
+"ui/nll/issue-45696-no-variant-box-recur.rs",
+"ui/nll/issue-45696-scribble-on-boxed-borrow.rs",
+"ui/nll/issue-46023.rs",
+"ui/nll/issue-46036.rs",
+"ui/nll/issue-46589.rs",
+"ui/nll/issue-47022.rs",
+"ui/nll/issue-47153-generic-const.rs",
+"ui/nll/issue-47388.rs",
+"ui/nll/issue-47470.rs",
+"ui/nll/issue-47589.rs",
+"ui/nll/issue-48070.rs",
+"ui/nll/issue-48179.rs",
+"ui/nll/issue-48238.rs",
+"ui/nll/issue-48623-closure.rs",
+"ui/nll/issue-48623-coroutine.rs",
+"ui/nll/issue-48697.rs",
+"ui/nll/issue-48803.rs",
+"ui/nll/issue-50343.rs",
+"ui/nll/issue-50461-used-mut-from-moves.rs",
+"ui/nll/issue-50716-1.rs",
+"ui/nll/issue-50716.rs",
+"ui/nll/issue-51191.rs",
+"ui/nll/issue-51244.rs",
+"ui/nll/issue-51268.rs",
+"ui/nll/issue-51345-2.rs",
+"ui/nll/issue-51351.rs",
+"ui/nll/issue-51512.rs",
+"ui/nll/issue-51770.rs",
+"ui/nll/issue-52057.rs",
+"ui/nll/issue-52059-report-when-borrow-and-drop-conflict.rs",
+"ui/nll/issue-52078.rs",
+"ui/nll/issue-52086.rs",
+"ui/nll/issue-52113.rs",
+"ui/nll/issue-52213.rs",
+"ui/nll/issue-52533-1.rs",
+"ui/nll/issue-52534-1.rs",
+"ui/nll/issue-52534-2.rs",
+"ui/nll/issue-52534.rs",
+"ui/nll/issue-52663-span-decl-captured-variable.rs",
+"ui/nll/issue-52663-trait-object.rs",
+"ui/nll/issue-52669.rs",
+"ui/nll/issue-52742.rs",
+"ui/nll/issue-52992.rs",
+"ui/nll/issue-53040.rs",
+"ui/nll/issue-53119.rs",
+"ui/nll/issue-53123-raw-pointer-cast.rs",
+"ui/nll/issue-53570.rs",
+"ui/nll/issue-53773.rs",
+"ui/nll/issue-53807.rs",
+"ui/nll/issue-54189.rs",
+"ui/nll/issue-54302-cases.rs",
+"ui/nll/issue-54302.rs",
+"ui/nll/issue-54382-use-span-of-tail-of-block.rs",
+"ui/nll/issue-54556-niconii.rs",
+"ui/nll/issue-54556-stephaneyfx.rs",
+"ui/nll/issue-54556-temps-in-tail-diagnostic.rs",
+"ui/nll/issue-54556-used-vs-unused-tails.rs",
+"ui/nll/issue-54556-wrap-it-up.rs",
+"ui/nll/issue-54779-anon-static-lifetime.rs",
+"ui/nll/issue-54943-3.rs",
+"ui/nll/issue-54943.rs",
+"ui/nll/issue-55288.rs",
+"ui/nll/issue-55344.rs",
+"ui/nll/issue-55394.rs",
+"ui/nll/issue-55401.rs",
+"ui/nll/issue-55511.rs",
+"ui/nll/issue-55651.rs",
+"ui/nll/issue-55825-const-fn.rs",
+"ui/nll/issue-55850.rs",
+"ui/nll/issue-57100.rs",
+"ui/nll/issue-57265-return-type-wf-check.rs",
+"ui/nll/issue-57280-1-flipped.rs",
+"ui/nll/issue-57280-1.rs",
+"ui/nll/issue-57280.rs",
+"ui/nll/issue-57642-higher-ranked-subtype.rs",
+"ui/nll/issue-57843.rs",
+"ui/nll/issue-57960.rs",
+"ui/nll/issue-57989.rs",
+"ui/nll/issue-58053.rs",
+"ui/nll/issue-58299.rs",
+"ui/nll/issue-61311-normalize.rs",
+"ui/nll/issue-61320-normalize.rs",
+"ui/nll/issue-61424.rs",
+"ui/nll/issue-62007-assign-const-index.rs",
+"ui/nll/issue-62007-assign-differing-fields.rs",
+"ui/nll/issue-63154-normalize.rs",
+"ui/nll/issue-67007-escaping-data.rs",
+"ui/nll/issue-68550.rs",
+"ui/nll/issue-69114-static-mut-ty.rs",
+"ui/nll/issue-69114-static-ty.rs",
+"ui/nll/issue-73159-rpit-static.rs",
+"ui/nll/issue-75777.rs",
+"ui/nll/issue-78561.rs",
+"ui/nll/issue-95272.rs",
+"ui/nll/issue-97997.rs",
+"ui/nll/issue-98170.rs",
+"ui/nll/issue-98589-closures-relate-named-regions.rs",
+"ui/nll/issue-98693.rs",
+"ui/nll/polonius/issue-46589.rs",
+"ui/nll/relate_tys/issue-48071.rs",
+"ui/nll/ty-outlives/issue-53789-1.rs",
+"ui/nll/ty-outlives/issue-53789-2.rs",
+"ui/nll/ty-outlives/issue-55756.rs",
+"ui/nll/user-annotations/issue-54124.rs",
+"ui/nll/user-annotations/issue-54570-bootstrapping.rs",
+"ui/nll/user-annotations/issue-55219.rs",
+"ui/nll/user-annotations/issue-55241.rs",
+"ui/nll/user-annotations/issue-55748-pat-types-constrain-bindings.rs",
+"ui/nll/user-annotations/issue-57731-ascibed-coupled-types.rs",
+"ui/numbers-arithmetic/issue-105626.rs",
+"ui/numbers-arithmetic/issue-8460-const.rs",
+"ui/numbers-arithmetic/issue-8460.rs",
+"ui/object-safety/issue-102762.rs",
+"ui/object-safety/issue-102933.rs",
+"ui/object-safety/issue-106247.rs",
+"ui/object-safety/issue-19538.rs",
+"ui/on-unimplemented/issue-104140.rs",
+"ui/or-patterns/issue-64879-trailing-before-guard.rs",
+"ui/or-patterns/issue-67514-irrefutable-param.rs",
+"ui/or-patterns/issue-68785-irrefutable-param-with-at.rs",
+"ui/or-patterns/issue-69875-should-have-been-expanded-earlier-non-exhaustive.rs",
+"ui/or-patterns/issue-69875-should-have-been-expanded-earlier.rs",
+"ui/or-patterns/issue-70413-no-unreachable-pat-and-guard.rs",
+"ui/overloaded/issue-14958.rs",
+"ui/packed/issue-118537-field-offset-ice.rs",
+"ui/packed/issue-118537-field-offset.rs",
+"ui/packed/issue-27060-2.rs",
+"ui/packed/issue-27060.rs",
+"ui/packed/issue-46152.rs",
+"ui/panics/issue-47429-short-backtraces.rs",
+"ui/parser/issue-116781.rs",
+"ui/parser/issues/auxiliary/issue-21146-inc.rs",
+"ui/parser/issues/auxiliary/issue-89971-outer-attr-following-inner-attr-ice.rs",
+"ui/parser/issues/auxiliary/issue-94340-inc.rs",
+"ui/parser/issues/issue-100197-mut-let.rs",
+"ui/parser/issues/issue-101477-enum.rs",
+"ui/parser/issues/issue-101477-let.rs",
+"ui/parser/issues/issue-101540.rs",
+"ui/parser/issues/issue-102182-impl-trait-recover.rs",
+"ui/parser/issues/issue-102806.rs",
+"ui/parser/issues/issue-103143.rs",
+"ui/parser/issues/issue-103381.rs",
+"ui/parser/issues/issue-103425.rs",
+"ui/parser/issues/issue-103451.rs",
+"ui/parser/issues/issue-103748-ICE-wrong-braces.rs",
+"ui/parser/issues/issue-10392-2.rs",
+"ui/parser/issues/issue-10392.rs",
+"ui/parser/issues/issue-104367.rs",
+"ui/parser/issues/issue-104620.rs",
+"ui/parser/issues/issue-104867-inc-dec-2.rs",
+"ui/parser/issues/issue-104867-inc-dec.rs",
+"ui/parser/issues/issue-105209.rs",
+"ui/parser/issues/issue-105366.rs",
+"ui/parser/issues/issue-105634.rs",
+"ui/parser/issues/issue-10636-1.rs",
+"ui/parser/issues/issue-10636-2.rs",
+"ui/parser/issues/issue-107705.rs",
+"ui/parser/issues/issue-108109-fn-missing-params.rs",
+"ui/parser/issues/issue-108109-fn-trait-missing-paren.rs",
+"ui/parser/issues/issue-108242-semicolon-recovery.rs",
+"ui/parser/issues/issue-108495-dec.rs",
+"ui/parser/issues/issue-110014.rs",
+"ui/parser/issues/issue-111148.rs",
+"ui/parser/issues/issue-111416.rs",
+"ui/parser/issues/issue-111692.rs",
+"ui/parser/issues/issue-112188.rs",
+"ui/parser/issues/issue-112458.rs",
+"ui/parser/issues/issue-113110-non-item-at-module-root.rs",
+"ui/parser/issues/issue-113203.rs",
+"ui/parser/issues/issue-113342.rs",
+"ui/parser/issues/issue-114219.rs",
+"ui/parser/issues/issue-115780-pat-lt-bracket-in-macro-call.rs",
+"ui/parser/issues/issue-118530-ice.rs",
+"ui/parser/issues/issue-118531-ice.rs",
+"ui/parser/issues/issue-13483.rs",
+"ui/parser/issues/issue-14303-fncall.rs",
+"ui/parser/issues/issue-14303.rs",
+"ui/parser/issues/issue-15914.rs",
+"ui/parser/issues/issue-15980.rs",
+"ui/parser/issues/issue-1655.rs",
+"ui/parser/issues/issue-17718-const-mut.rs",
+"ui/parser/issues/issue-17718-parse-const.rs",
+"ui/parser/issues/issue-17904-2.rs",
+"ui/parser/issues/issue-17904.rs",
+"ui/parser/issues/issue-1802-1.rs",
+"ui/parser/issues/issue-1802-2.rs",
+"ui/parser/issues/issue-19096.rs",
+"ui/parser/issues/issue-19398.rs",
+"ui/parser/issues/issue-20616-1.rs",
+"ui/parser/issues/issue-20616-2.rs",
+"ui/parser/issues/issue-20616-3.rs",
+"ui/parser/issues/issue-20616-4.rs",
+"ui/parser/issues/issue-20616-5.rs",
+"ui/parser/issues/issue-20616-6.rs",
+"ui/parser/issues/issue-20616-7.rs",
+"ui/parser/issues/issue-20616-8.rs",
+"ui/parser/issues/issue-20616-9.rs",
+"ui/parser/issues/issue-20711-2.rs",
+"ui/parser/issues/issue-20711.rs",
+"ui/parser/issues/issue-21146.rs",
+"ui/parser/issues/issue-21153.rs",
+"ui/parser/issues/issue-21475.rs",
+"ui/parser/issues/issue-22647.rs",
+"ui/parser/issues/issue-22712.rs",
+"ui/parser/issues/issue-2354-1.rs",
+"ui/parser/issues/issue-2354.rs",
+"ui/parser/issues/issue-23620-invalid-escapes.rs",
+"ui/parser/issues/issue-24197.rs",
+"ui/parser/issues/issue-24375.rs",
+"ui/parser/issues/issue-24780.rs",
+"ui/parser/issues/issue-27255.rs",
+"ui/parser/issues/issue-30318.rs",
+"ui/parser/issues/issue-3036.rs",
+"ui/parser/issues/issue-31804.rs",
+"ui/parser/issues/issue-32214.rs",
+"ui/parser/issues/issue-32446.rs",
+"ui/parser/issues/issue-32501.rs",
+"ui/parser/issues/issue-32505.rs",
+"ui/parser/issues/issue-33262.rs",
+"ui/parser/issues/issue-33413.rs",
+"ui/parser/issues/issue-33418.rs",
+"ui/parser/issues/issue-33455.rs",
+"ui/parser/issues/issue-34222-1.rs",
+"ui/parser/issues/issue-34255-1.rs",
+"ui/parser/issues/issue-35813-postfix-after-cast.rs",
+"ui/parser/issues/issue-39616.rs",
+"ui/parser/issues/issue-41155.rs",
+"ui/parser/issues/issue-43196.rs",
+"ui/parser/issues/issue-43692.rs",
+"ui/parser/issues/issue-44021.rs",
+"ui/parser/issues/issue-44406.rs",
+"ui/parser/issues/issue-45296.rs",
+"ui/parser/issues/issue-46186.rs",
+"ui/parser/issues/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs",
+"ui/parser/issues/issue-48137-macros-cannot-interpolate-impl-items.rs",
+"ui/parser/issues/issue-48508-aux.rs",
+"ui/parser/issues/issue-48508.rs",
+"ui/parser/issues/issue-48636.rs",
+"ui/parser/issues/issue-49040.rs",
+"ui/parser/issues/issue-49257.rs",
+"ui/parser/issues/issue-51602.rs",
+"ui/parser/issues/issue-52496.rs",
+"ui/parser/issues/issue-54521-1.rs",
+"ui/parser/issues/issue-54521-2.rs",
+"ui/parser/issues/issue-54521-3.rs",
+"ui/parser/issues/issue-5544-a.rs",
+"ui/parser/issues/issue-5544-b.rs",
+"ui/parser/issues/issue-56031.rs",
+"ui/parser/issues/issue-57198.rs",
+"ui/parser/issues/issue-57684.rs",
+"ui/parser/issues/issue-57819.rs",
+"ui/parser/issues/issue-5806.rs",
+"ui/parser/issues/issue-58094-missing-right-square-bracket.rs",
+"ui/parser/issues/issue-58856-1.rs",
+"ui/parser/issues/issue-58856-2.rs",
+"ui/parser/issues/issue-59418.rs",
+"ui/parser/issues/issue-60075.rs",
+"ui/parser/issues/issue-61858.rs",
+"ui/parser/issues/issue-62524.rs",
+"ui/parser/issues/issue-62546.rs",
+"ui/parser/issues/issue-62554.rs",
+"ui/parser/issues/issue-62660.rs",
+"ui/parser/issues/issue-62881.rs",
+"ui/parser/issues/issue-62894.rs",
+"ui/parser/issues/issue-62895.rs",
+"ui/parser/issues/issue-62913.rs",
+"ui/parser/issues/issue-62973.rs",
+"ui/parser/issues/issue-63115-range-pat-interpolated.rs",
+"ui/parser/issues/issue-63116.rs",
+"ui/parser/issues/issue-63135.rs",
+"ui/parser/issues/issue-64732.rs",
+"ui/parser/issues/issue-65041-empty-vis-matcher-in-enum.rs",
+"ui/parser/issues/issue-65041-empty-vis-matcher-in-trait.rs",
+"ui/parser/issues/issue-65122-mac-invoc-in-mut-patterns.rs",
+"ui/parser/issues/issue-65257-invalid-var-decl-recovery.rs",
+"ui/parser/issues/issue-65846-rollback-gating-failing-matcher.rs",
+"ui/parser/issues/issue-6610.rs",
+"ui/parser/issues/issue-66357-unexpected-unreachable.rs",
+"ui/parser/issues/issue-66473.rs",
+"ui/parser/issues/issue-67146-negative-outlives-bound-syntactic-fail.rs",
+"ui/parser/issues/issue-67377-invalid-syntax-in-enum-discriminant.rs",
+"ui/parser/issues/issue-68000-unicode-ident-after-missing-comma.rs",
+"ui/parser/issues/issue-68091-unicode-ident-after-if.rs",
+"ui/parser/issues/issue-68092-unicode-ident-after-incomplete-expr.rs",
+"ui/parser/issues/issue-68629.rs",
+"ui/parser/issues/issue-68730.rs",
+"ui/parser/issues/issue-68788-in-trait-item-propagation.rs",
+"ui/parser/issues/issue-68890-2.rs",
+"ui/parser/issues/issue-68890.rs",
+"ui/parser/issues/issue-68987-unmatch-issue-1.rs",
+"ui/parser/issues/issue-68987-unmatch-issue-2.rs",
+"ui/parser/issues/issue-68987-unmatch-issue-3.rs",
+"ui/parser/issues/issue-68987-unmatch-issue.rs",
+"ui/parser/issues/issue-69259.rs",
+"ui/parser/issues/issue-70050-ntliteral-accepts-negated-lit.rs",
+"ui/parser/issues/issue-70388-recover-dotdotdot-rest-pat.rs",
+"ui/parser/issues/issue-70388-without-witness.rs",
+"ui/parser/issues/issue-70549-resolve-after-recovered-self-ctor.rs",
+"ui/parser/issues/issue-70552-ascription-in-parens-after-call.rs",
+"ui/parser/issues/issue-70583-block-is-empty-1.rs",
+"ui/parser/issues/issue-70583-block-is-empty-2.rs",
+"ui/parser/issues/issue-7222.rs",
+"ui/parser/issues/issue-72253.rs",
+"ui/parser/issues/issue-72373.rs",
+"ui/parser/issues/issue-73568-lifetime-after-mut.rs",
+"ui/parser/issues/issue-75599.rs",
+"ui/parser/issues/issue-76437-async.rs",
+"ui/parser/issues/issue-76437-const-async-unsafe.rs",
+"ui/parser/issues/issue-76437-const-async.rs",
+"ui/parser/issues/issue-76437-const.rs",
+"ui/parser/issues/issue-76437-pub-crate-unsafe.rs",
+"ui/parser/issues/issue-76437-unsafe.rs",
+"ui/parser/issues/issue-76597.rs",
+"ui/parser/issues/issue-7970b.rs",
+"ui/parser/issues/issue-81804.rs",
+"ui/parser/issues/issue-81806.rs",
+"ui/parser/issues/issue-81827.rs",
+"ui/parser/issues/issue-83639.rs",
+"ui/parser/issues/issue-84104.rs",
+"ui/parser/issues/issue-84117.rs",
+"ui/parser/issues/issue-84148-1.rs",
+"ui/parser/issues/issue-84148-2.rs",
+"ui/parser/issues/issue-8537.rs",
+"ui/parser/issues/issue-86895.rs",
+"ui/parser/issues/issue-87086-colon-path-sep.rs",
+"ui/parser/issues/issue-87197-missing-semicolon.rs",
+"ui/parser/issues/issue-87635.rs",
+"ui/parser/issues/issue-87694-duplicated-pub.rs",
+"ui/parser/issues/issue-87694-misplaced-pub.rs",
+"ui/parser/issues/issue-87812-path.rs",
+"ui/parser/issues/issue-87812.rs",
+"ui/parser/issues/issue-88276-unary-plus.rs",
+"ui/parser/issues/issue-88583-union-as-ident.rs",
+"ui/parser/issues/issue-88770.rs",
+"ui/parser/issues/issue-88818.rs",
+"ui/parser/issues/issue-89388.rs",
+"ui/parser/issues/issue-89396.rs",
+"ui/parser/issues/issue-89574.rs",
+"ui/parser/issues/issue-89971-outer-attr-following-inner-attr-ice.rs",
+"ui/parser/issues/issue-90728.rs",
+"ui/parser/issues/issue-90993.rs",
+"ui/parser/issues/issue-91421.rs",
+"ui/parser/issues/issue-91461.rs",
+"ui/parser/issues/issue-93282.rs",
+"ui/parser/issues/issue-93867.rs",
+"ui/parser/issues/issue-94340.rs",
+"ui/parser/issues/issue-98601-delimiter-error-1.rs",
+"ui/parser/issues/issue-98601-delimiter-error-unexpected-close.rs",
+"ui/parser/issues/issue-99625-enum-struct-mutually-exclusive.rs",
+"ui/parser/issues/issue-99910-const-let-mutually-exclusive.rs",
+"ui/parser/macro/issue-33569.rs",
+"ui/parser/macro/issue-37113.rs",
+"ui/parser/macro/issue-37234.rs",
+"ui/parser/raw/issue-70677-panic-on-unterminated-raw-str-at-eof.rs",
+"ui/parser/shebang/issue-71471-ignore-tidy.rs",
+"ui/pattern/issue-10392.rs",
+"ui/pattern/issue-106552.rs",
+"ui/pattern/issue-106862.rs",
+"ui/pattern/issue-110508.rs",
+"ui/pattern/issue-114896.rs",
+"ui/pattern/issue-115599.rs",
+"ui/pattern/issue-11577.rs",
+"ui/pattern/issue-117626.rs",
+"ui/pattern/issue-12582.rs",
+"ui/pattern/issue-14221.rs",
+"ui/pattern/issue-15080.rs",
+"ui/pattern/issue-17718-patterns.rs",
+"ui/pattern/issue-22546.rs",
+"ui/pattern/issue-27320.rs",
+"ui/pattern/issue-28992-empty.rs",
+"ui/pattern/issue-52240.rs",
+"ui/pattern/issue-6449.rs",
+"ui/pattern/issue-66270-pat-struct-parser-recovery.rs",
+"ui/pattern/issue-67037-pat-tup-scrut-ty-diff-less-fields.rs",
+"ui/pattern/issue-67776-match-same-name-enum-variant-refs.rs",
+"ui/pattern/issue-68393-let-pat-assoc-constant.rs",
+"ui/pattern/issue-72565.rs",
+"ui/pattern/issue-72574-1.rs",
+"ui/pattern/issue-72574-2.rs",
+"ui/pattern/issue-74539.rs",
+"ui/pattern/issue-74702.rs",
+"ui/pattern/issue-74954.rs",
+"ui/pattern/issue-80186-mut-binding-help-suggestion.rs",
+"ui/pattern/issue-8351-1.rs",
+"ui/pattern/issue-8351-2.rs",
+"ui/pattern/issue-88074-pat-range-type-inference-err.rs",
+"ui/pattern/issue-88074-pat-range-type-inference.rs",
+"ui/pattern/issue-92074-macro-ice.rs",
+"ui/pattern/issue-94866.rs",
+"ui/pattern/issue-95878.rs",
+"ui/pattern/move-ref-patterns/issue-53840.rs",
+"ui/pattern/usefulness/integer-ranges/issue-117648-overlapping_range_endpoints-false-positive.rs",
+"ui/pattern/usefulness/issue-105479-str-non-exhaustiveness.rs",
+"ui/pattern/usefulness/issue-118437-exponential-time-on-diagonal-match.rs",
+"ui/pattern/usefulness/issue-119493-type-error-ice.rs",
+"ui/pattern/usefulness/issue-119778-type-error-ice.rs",
+"ui/pattern/usefulness/issue-12116.rs",
+"ui/pattern/usefulness/issue-12369.rs",
+"ui/pattern/usefulness/issue-13727.rs",
+"ui/pattern/usefulness/issue-15129.rs",
+"ui/pattern/usefulness/issue-2111.rs",
+"ui/pattern/usefulness/issue-30240-b.rs",
+"ui/pattern/usefulness/issue-30240-rpass.rs",
+"ui/pattern/usefulness/issue-30240.rs",
+"ui/pattern/usefulness/issue-3096-1.rs",
+"ui/pattern/usefulness/issue-3096-2.rs",
+"ui/pattern/usefulness/issue-31221.rs",
+"ui/pattern/usefulness/issue-31561.rs",
+"ui/pattern/usefulness/issue-35609.rs",
+"ui/pattern/usefulness/issue-3601.rs",
+"ui/pattern/usefulness/issue-39362.rs",
+"ui/pattern/usefulness/issue-40221.rs",
+"ui/pattern/usefulness/issue-4321.rs",
+"ui/pattern/usefulness/issue-50900.rs",
+"ui/pattern/usefulness/issue-53820-slice-pattern-large-array.rs",
+"ui/pattern/usefulness/issue-56379.rs",
+"ui/pattern/usefulness/issue-57472.rs",
+"ui/pattern/usefulness/issue-65413-constants-and-slices-exhaustiveness.rs",
+"ui/pattern/usefulness/issue-66501.rs",
+"ui/pattern/usefulness/issue-71930-type-of-match-scrutinee.rs",
+"ui/pattern/usefulness/issue-72377.rs",
+"ui/pattern/usefulness/issue-72476-and-89393-associated-type.rs",
+"ui/pattern/usefulness/issue-78123-non-exhaustive-reference.rs",
+"ui/pattern/usefulness/issue-78549-ref-pat-and-str.rs",
+"ui/pattern/usefulness/issue-80501-or-pat-and-macro.rs",
+"ui/pattern/usefulness/issue-82772-match-box-as-struct.rs",
+"ui/pattern/usefulness/issue-85222-types-containing-non-exhaustive-types.rs",
+"ui/pattern/usefulness/issue-88747.rs",
+"ui/polymorphization/issue-74614.rs",
+"ui/polymorphization/issue-74636.rs",
+"ui/privacy/auxiliary/issue-117997.rs",
+"ui/privacy/auxiliary/issue-119463-extern.rs",
+"ui/privacy/auxiliary/issue-17718-const-privacy.rs",
+"ui/privacy/auxiliary/issue-57264-1.rs",
+"ui/privacy/auxiliary/issue-57264-2.rs",
+"ui/privacy/auxiliary/issue-75907.rs",
+"ui/privacy/auxiliary/issue-92755.rs",
+"ui/privacy/issue-111220-2-tuple-struct-fields-projection.rs",
+"ui/privacy/issue-111220-tuple-struct-fields.rs",
+"ui/privacy/issue-113860-1.rs",
+"ui/privacy/issue-113860-2.rs",
+"ui/privacy/issue-113860.rs",
+"ui/privacy/issue-11593.rs",
+"ui/privacy/issue-117997.rs",
+"ui/privacy/issue-119463.rs",
+"ui/privacy/issue-13641.rs",
+"ui/privacy/issue-17718-const-privacy.rs",
+"ui/privacy/issue-29161.rs",
+"ui/privacy/issue-30079.rs",
+"ui/privacy/issue-46209-private-enum-variant-reexport.rs",
+"ui/privacy/issue-57264-1.rs",
+"ui/privacy/issue-57264-2.rs",
+"ui/privacy/issue-75062-fieldless-tuple-struct.rs",
+"ui/privacy/issue-75906.rs",
+"ui/privacy/issue-75907.rs",
+"ui/privacy/issue-75907_b.rs",
+"ui/privacy/issue-79593.rs",
+"ui/privacy/issue-92755.rs",
+"ui/proc-macro/auxiliary/issue-104884.rs",
+"ui/proc-macro/auxiliary/issue-107113.rs",
+"ui/proc-macro/auxiliary/issue-118809.rs",
+"ui/proc-macro/auxiliary/issue-38586.rs",
+"ui/proc-macro/auxiliary/issue-39889.rs",
+"ui/proc-macro/auxiliary/issue-42708.rs",
+"ui/proc-macro/auxiliary/issue-50061.rs",
+"ui/proc-macro/auxiliary/issue-50493.rs",
+"ui/proc-macro/auxiliary/issue-59191.rs",
+"ui/proc-macro/auxiliary/issue-66286.rs",
+"ui/proc-macro/auxiliary/issue-75801.rs",
+"ui/proc-macro/auxiliary/issue-79242.rs",
+"ui/proc-macro/auxiliary/issue-79825.rs",
+"ui/proc-macro/auxiliary/issue-83510.rs",
+"ui/proc-macro/auxiliary/issue-91800-macro.rs",
+"ui/proc-macro/issue-104884-trait-impl-sugg-err.rs",
+"ui/proc-macro/issue-107113-wrap.rs",
+"ui/proc-macro/issue-118455-skip-err-builtin.rs",
+"ui/proc-macro/issue-118809.rs",
+"ui/proc-macro/issue-36935.rs",
+"ui/proc-macro/issue-37788.rs",
+"ui/proc-macro/issue-38586.rs",
+"ui/proc-macro/issue-39889.rs",
+"ui/proc-macro/issue-42708.rs",
+"ui/proc-macro/issue-50061.rs",
+"ui/proc-macro/issue-50493.rs",
+"ui/proc-macro/issue-53481.rs",
+"ui/proc-macro/issue-59191-replace-root-with-fn.rs",
+"ui/proc-macro/issue-66286.rs",
+"ui/proc-macro/issue-73933-procedural-masquerade.rs",
+"ui/proc-macro/issue-75734-pp-paren.rs",
+"ui/proc-macro/issue-75801.rs",
+"ui/proc-macro/issue-75930-derive-cfg.rs",
+"ui/proc-macro/issue-76182-leading-vert-pat.rs",
+"ui/proc-macro/issue-76270-panic-in-libproc-macro.rs",
+"ui/proc-macro/issue-78675-captured-inner-attrs.rs",
+"ui/proc-macro/issue-79148.rs",
+"ui/proc-macro/issue-79242-slow-retokenize-check.rs",
+"ui/proc-macro/issue-79825.rs",
+"ui/proc-macro/issue-80760-empty-stmt.rs",
+"ui/proc-macro/issue-81007-item-attrs.rs",
+"ui/proc-macro/issue-81543-item-parse-err.rs",
+"ui/proc-macro/issue-81555.rs",
+"ui/proc-macro/issue-83469-global-alloc-invalid-stmt.rs",
+"ui/proc-macro/issue-83510.rs",
+"ui/proc-macro/issue-86781-bad-inner-doc.rs",
+"ui/proc-macro/issue-89566-suggest-fix-invalid-top-level-macro-attr.rs",
+"ui/proc-macro/issue-91800.rs",
+"ui/process/issue-13304.rs",
+"ui/process/issue-14456.rs",
+"ui/process/issue-14940.rs",
+"ui/process/issue-16272.rs",
+"ui/process/issue-20091.rs",
+"ui/ptr_ops/issue-80309-safe.rs",
+"ui/ptr_ops/issue-80309.rs",
+"ui/pub/issue-33174-restricted-type-in-public-interface.rs",
+"ui/query-system/issue-83479.rs",
+"ui/range/issue-54505-no-literals.rs",
+"ui/range/issue-54505-no-std.rs",
+"ui/range/issue-54505.rs",
+"ui/range/issue-73553-misinterp-range-literal.rs",
+"ui/reachable/auxiliary/issue-11225-1.rs",
+"ui/reachable/auxiliary/issue-11225-2.rs",
+"ui/reachable/auxiliary/issue-11225-3.rs",
+"ui/reachable/issue-11225-1.rs",
+"ui/reachable/issue-11225-2.rs",
+"ui/reachable/issue-11225-3.rs",
+"ui/reachable/issue-948.rs",
+"ui/recursion/issue-26548-recursion-via-normalize.rs",
+"ui/recursion/issue-38591-non-regular-dropck-recursion.rs",
+"ui/recursion/issue-83150.rs",
+"ui/recursion/issue-86784.rs",
+"ui/recursion/issue-95134.rs",
+"ui/recursion_limit/issue-105700.rs",
+"ui/recursion_limit/issue-40003.rs",
+"ui/regions/issue-101280.rs",
+"ui/regions/issue-102374.rs",
+"ui/regions/issue-102392.rs",
+"ui/regions/issue-11612.rs",
+"ui/regions/issue-12470.rs",
+"ui/regions/issue-21520.rs",
+"ui/regions/issue-24085.rs",
+"ui/regions/issue-26448-1.rs",
+"ui/regions/issue-26448-2.rs",
+"ui/regions/issue-26448-3.rs",
+"ui/regions/issue-28848.rs",
+"ui/regions/issue-5243.rs",
+"ui/regions/issue-56537-closure-uses-region-from-container.rs",
+"ui/regions/issue-6157.rs",
+"ui/regions/issue-72051-member-region-hang.rs",
+"ui/regions/issue-78262.rs",
+"ui/repr/issue-83505-repr-simd.rs",
+"ui/resolve/auxiliary/issue-112831-aux.rs",
+"ui/resolve/auxiliary/issue-19452-aux.rs",
+"ui/resolve/auxiliary/issue-21221-3.rs",
+"ui/resolve/auxiliary/issue-21221-4.rs",
+"ui/resolve/auxiliary/issue-30535.rs",
+"ui/resolve/auxiliary/issue-3907.rs",
+"ui/resolve/auxiliary/issue-80079.rs",
+"ui/resolve/issue-100365.rs",
+"ui/resolve/issue-101749-2.rs",
+"ui/resolve/issue-101749.rs",
+"ui/resolve/issue-10200.rs",
+"ui/resolve/issue-102946.rs",
+"ui/resolve/issue-103202.rs",
+"ui/resolve/issue-103474.rs",
+"ui/resolve/issue-104700-inner_scope.rs",
+"ui/resolve/issue-105069.rs",
+"ui/resolve/issue-107563-ambiguous-glob-reexports.rs",
+"ui/resolve/issue-108529.rs",
+"ui/resolve/issue-109153.rs",
+"ui/resolve/issue-109250.rs",
+"ui/resolve/issue-111312.rs",
+"ui/resolve/issue-111727.rs",
+"ui/resolve/issue-112472-multi-generics-suggestion.rs",
+"ui/resolve/issue-113808-invalid-unused-qualifications-suggestion.rs",
+"ui/resolve/issue-114433-invalid-unused-qualifications-suggestion.rs",
+"ui/resolve/issue-116164.rs",
+"ui/resolve/issue-117920.rs",
+"ui/resolve/issue-118295.rs",
+"ui/resolve/issue-120559.rs",
+"ui/resolve/issue-12796.rs",
+"ui/resolve/issue-14254.rs",
+"ui/resolve/issue-16058.rs",
+"ui/resolve/issue-17518.rs",
+"ui/resolve/issue-18252.rs",
+"ui/resolve/issue-19452.rs",
+"ui/resolve/issue-21221-1.rs",
+"ui/resolve/issue-21221-2.rs",
+"ui/resolve/issue-21221-3.rs",
+"ui/resolve/issue-21221-4.rs",
+"ui/resolve/issue-22692.rs",
+"ui/resolve/issue-2330.rs",
+"ui/resolve/issue-23305.rs",
+"ui/resolve/issue-2356.rs",
+"ui/resolve/issue-23716.rs",
+"ui/resolve/issue-24968.rs",
+"ui/resolve/issue-26545.rs",
+"ui/resolve/issue-3021-c.rs",
+"ui/resolve/issue-3021.rs",
+"ui/resolve/issue-30535.rs",
+"ui/resolve/issue-3099-a.rs",
+"ui/resolve/issue-3099-b.rs",
+"ui/resolve/issue-31845.rs",
+"ui/resolve/issue-33876.rs",
+"ui/resolve/issue-35675.rs",
+"ui/resolve/issue-3907-2.rs",
+"ui/resolve/issue-3907.rs",
+"ui/resolve/issue-39226.rs",
+"ui/resolve/issue-39559-2.rs",
+"ui/resolve/issue-39559.rs",
+"ui/resolve/issue-42944.rs",
+"ui/resolve/issue-49074.rs",
+"ui/resolve/issue-5035-2.rs",
+"ui/resolve/issue-5035.rs",
+"ui/resolve/issue-50599.rs",
+"ui/resolve/issue-5099.rs",
+"ui/resolve/issue-54379.rs",
+"ui/resolve/issue-55673.rs",
+"ui/resolve/issue-57523.rs",
+"ui/resolve/issue-5927.rs",
+"ui/resolve/issue-60057.rs",
+"ui/resolve/issue-65025-extern-static-parent-generics.rs",
+"ui/resolve/issue-65035-static-with-parent-generics.rs",
+"ui/resolve/issue-6642.rs",
+"ui/resolve/issue-6702.rs",
+"ui/resolve/issue-69401-trait-fn-no-body-ty-local.rs",
+"ui/resolve/issue-70736-async-fn-no-body-def-collector.rs",
+"ui/resolve/issue-73427.rs",
+"ui/resolve/issue-80079.rs",
+"ui/resolve/issue-81508.rs",
+"ui/resolve/issue-82156.rs",
+"ui/resolve/issue-82865.rs",
+"ui/resolve/issue-85348.rs",
+"ui/resolve/issue-85671.rs",
+"ui/resolve/issue-88472.rs",
+"ui/resolve/issue-90113.rs",
+"ui/return/issue-64620.rs",
+"ui/return/issue-82612-return-mutable-reference.rs",
+"ui/return/issue-86188-return-not-in-fn-body.rs",
+"ui/rfcs/rfc-1445-restrict-constants-in-patterns/issue-61188-match-slice-forbidden-without-eq.rs",
+"ui/rfcs/rfc-1445-restrict-constants-in-patterns/issue-62307-match-ref-ref-forbidden-without-eq.rs",
+"ui/rfcs/rfc-1445-restrict-constants-in-patterns/issue-63479-match-fnptr.rs",
+"ui/rfcs/rfc-1445-restrict-constants-in-patterns/issue-6804-nan-match.rs",
+"ui/rfcs/rfc-1937-termination-trait/issue-103052-1.rs",
+"ui/rfcs/rfc-1937-termination-trait/issue-103052-2.rs",
+"ui/rfcs/rfc-2005-default-binding-mode/issue-44912-or.rs",
+"ui/rfcs/rfc-2008-non-exhaustive/uninhabited/issue-65157-repeated-match-arm.rs",
+"ui/rfcs/rfc-2093-infer-outlives/issue-54467.rs",
+"ui/rfcs/rfc-2396-target_feature-11/issue-108645-target-feature-on-main.rs",
+"ui/rfcs/rfc-2396-target_feature-11/issue-108645-target-feature-on-start.rs",
+"ui/rfcs/rfc-2396-target_feature-11/issue-108655-inline-always-closure.rs",
+"ui/rfcs/rfc-2396-target_feature-11/issue-99876.rs",
+"ui/rfcs/rfc-2497-if-let-chains/issue-88498.rs",
+"ui/rfcs/rfc-2497-if-let-chains/issue-90722.rs",
+"ui/rfcs/rfc-2497-if-let-chains/issue-92145.rs",
+"ui/rfcs/rfc-2497-if-let-chains/issue-93150.rs",
+"ui/rfcs/rfc-2497-if-let-chains/issue-99938.rs",
+"ui/rfcs/rfc-2528-type-changing-struct-update/issue-92010-trait-bound-not-satisfied.rs",
+"ui/rfcs/rfc-2528-type-changing-struct-update/issue-96878.rs",
+"ui/rfcs/rfc-2565-param-attrs/issue-64682-dropping-first-attrs-in-impl-fns.rs",
+"ui/rfcs/rfc-2632-const-trait-impl/issue-100222.rs",
+"ui/rfcs/rfc-2632-const-trait-impl/issue-102156.rs",
+"ui/rfcs/rfc-2632-const-trait-impl/issue-102985.rs",
+"ui/rfcs/rfc-2632-const-trait-impl/issue-103677.rs",
+"ui/rfcs/rfc-2632-const-trait-impl/issue-79450.rs",
+"ui/rfcs/rfc-2632-const-trait-impl/issue-88155.rs",
+"ui/rfcs/rfc-2632-const-trait-impl/issue-92111.rs",
+"ui/rfcs/rfc-2632-const-trait-impl/issue-92230-wf-super-trait-env.rs",
+"ui/rfcs/rfc-2632-const-trait-impl/specialization/issue-95186-specialize-on-tilde-const.rs",
+"ui/rfcs/rfc-2632-const-trait-impl/specialization/issue-95187-same-trait-bound-different-constness.rs",
+"ui/rust-2018/issue-51008-1.rs",
+"ui/rust-2018/issue-51008.rs",
+"ui/rust-2018/issue-52202-use-suggestions.rs",
+"ui/rust-2018/issue-54006.rs",
+"ui/rust-2018/issue-54400-unused-extern-crate-attr-span.rs",
+"ui/rust-2018/uniform-paths/auxiliary/issue-55779-extern-trait.rs",
+"ui/rust-2018/uniform-paths/auxiliary/issue-56596-2.rs",
+"ui/rust-2018/uniform-paths/auxiliary/issue-56596.rs",
+"ui/rust-2018/uniform-paths/auxiliary/issue-87932-a.rs",
+"ui/rust-2018/uniform-paths/issue-54253.rs",
+"ui/rust-2018/uniform-paths/issue-55779.rs",
+"ui/rust-2018/uniform-paths/issue-56596-2.rs",
+"ui/rust-2018/uniform-paths/issue-56596.rs",
+"ui/rust-2018/uniform-paths/issue-87932.rs",
+"ui/sanitize/issue-111184-coroutine-witness.rs",
+"ui/sanitize/issue-114275-cfi-const-expr-in-arry-len.rs",
+"ui/sanitize/issue-72154-lifetime-markers.rs",
+"ui/self/issue-61882-2.rs",
+"ui/self/issue-61882.rs",
+"ui/simd/intrinsic/issue-85855.rs",
+"ui/simd/issue-105439.rs",
+"ui/simd/issue-17170.rs",
+"ui/simd/issue-32947.rs",
+"ui/simd/issue-39720.rs",
+"ui/simd/issue-85915-simd-ptrs.rs",
+"ui/simd/issue-89193.rs",
+"ui/single-use-lifetime/issue-104440.rs",
+"ui/single-use-lifetime/issue-107998.rs",
+"ui/single-use-lifetime/issue-117965.rs",
+"ui/span/issue-107353.rs",
+"ui/span/issue-11925.rs",
+"ui/span/issue-15480.rs",
+"ui/span/issue-23338-locals-die-before-temps-of-body.rs",
+"ui/span/issue-23729.rs",
+"ui/span/issue-23827.rs",
+"ui/span/issue-24356.rs",
+"ui/span/issue-24690.rs",
+"ui/span/issue-24805-dropck-child-has-items-via-parent.rs",
+"ui/span/issue-24805-dropck-trait-has-items.rs",
+"ui/span/issue-24895-copy-clone-dropck.rs",
+"ui/span/issue-25199.rs",
+"ui/span/issue-26656.rs",
+"ui/span/issue-27522.rs",
+"ui/span/issue-29106.rs",
+"ui/span/issue-29595.rs",
+"ui/span/issue-33884.rs",
+"ui/span/issue-34264.rs",
+"ui/span/issue-35987.rs",
+"ui/span/issue-36537.rs",
+"ui/span/issue-37767.rs",
+"ui/span/issue-39018.rs",
+"ui/span/issue-39698.rs",
+"ui/span/issue-40157.rs",
+"ui/span/issue-42234-unknown-receiver-type.rs",
+"ui/span/issue-43927-non-ADT-derive.rs",
+"ui/span/issue-71363.rs",
+"ui/span/issue-81800.rs",
+"ui/span/issue28498-reject-ex1.rs",
+"ui/span/issue28498-reject-lifetime-param.rs",
+"ui/span/issue28498-reject-passed-to-fn.rs",
+"ui/span/issue28498-reject-trait-bound.rs",
+"ui/specialization/issue-111232.rs",
+"ui/specialization/issue-33017.rs",
+"ui/specialization/issue-35376.rs",
+"ui/specialization/issue-36804.rs",
+"ui/specialization/issue-38091-2.rs",
+"ui/specialization/issue-38091.rs",
+"ui/specialization/issue-39448.rs",
+"ui/specialization/issue-39618.rs",
+"ui/specialization/issue-40582.rs",
+"ui/specialization/issue-43037.rs",
+"ui/specialization/issue-44861.rs",
+"ui/specialization/issue-45814.rs",
+"ui/specialization/issue-50452-fail.rs",
+"ui/specialization/issue-50452.rs",
+"ui/specialization/issue-51892.rs",
+"ui/specialization/issue-52050.rs",
+"ui/specialization/issue-59435.rs",
+"ui/specialization/issue-63716-parse-async.rs",
+"ui/specialization/issue-68830-spurious-diagnostics.rs",
+"ui/specialization/issue-70442.rs",
+"ui/specialization/min_specialization/issue-79224.rs",
+"ui/stability-attribute/issue-106589.rs",
+"ui/stability-attribute/issue-109177.rs",
+"ui/stability-attribute/issue-28075.rs",
+"ui/stability-attribute/issue-28388-3.rs",
+"ui/stability-attribute/issue-99286-stable-intrinsics.rs",
+"ui/static/auxiliary/issue_24843.rs",
+"ui/static/issue-18118-2.rs",
+"ui/static/issue-18118.rs",
+"ui/static/issue-24843.rs",
+"ui/static/issue-34194.rs",
+"ui/static/issue-5216.rs",
+"ui/statics/issue-14227.rs",
+"ui/statics/issue-15261.rs",
+"ui/statics/issue-17233.rs",
+"ui/statics/issue-17718-static-sync.rs",
+"ui/statics/issue-17718-static-unsafe-interior.rs",
+"ui/statics/issue-44373-2.rs",
+"ui/statics/issue-44373.rs",
+"ui/statics/issue-91050-1.rs",
+"ui/statics/issue-91050-2.rs",
+"ui/std/issue-81357-unsound-file-methods.rs",
+"ui/stdlib-unit-tests/issue-21058.rs",
+"ui/structs-enums/enum-rec/issue-17431-6.rs",
+"ui/structs-enums/enum-rec/issue-17431-7.rs",
+"ui/structs-enums/issue-103869.rs",
+"ui/structs-enums/issue-1701.rs",
+"ui/structs-enums/issue-2718-a.rs",
+"ui/structs-enums/issue-3008-1.rs",
+"ui/structs-enums/issue-3008-2.rs",
+"ui/structs-enums/issue-3008-3.rs",
+"ui/structs-enums/issue-38002.rs",
+"ui/structs-enums/issue-50731.rs",
+"ui/structs-enums/struct-rec/issue-17431-1.rs",
+"ui/structs-enums/struct-rec/issue-17431-2.rs",
+"ui/structs-enums/struct-rec/issue-17431-3.rs",
+"ui/structs-enums/struct-rec/issue-17431-4.rs",
+"ui/structs-enums/struct-rec/issue-17431-5.rs",
+"ui/structs-enums/struct-rec/issue-74224.rs",
+"ui/structs-enums/struct-rec/issue-84611.rs",
+"ui/structs/issue-80853.rs",
+"ui/suggestions/auxiliary/issue-61963-1.rs",
+"ui/suggestions/auxiliary/issue-61963.rs",
+"ui/suggestions/auxiliary/issue-81839.rs",
+"ui/suggestions/issue-101065.rs",
+"ui/suggestions/issue-101421.rs",
+"ui/suggestions/issue-101465.rs",
+"ui/suggestions/issue-101623.rs",
+"ui/suggestions/issue-101984.rs",
+"ui/suggestions/issue-102354.rs",
+"ui/suggestions/issue-102892.rs",
+"ui/suggestions/issue-102972.rs",
+"ui/suggestions/issue-103112.rs",
+"ui/suggestions/issue-103646.rs",
+"ui/suggestions/issue-104086-suggest-let.rs",
+"ui/suggestions/issue-104287.rs",
+"ui/suggestions/issue-104327.rs",
+"ui/suggestions/issue-104328.rs",
+"ui/suggestions/issue-104961.rs",
+"ui/suggestions/issue-105226.rs",
+"ui/suggestions/issue-105494.rs",
+"ui/suggestions/issue-105645.rs",
+"ui/suggestions/issue-105761-suggest-self-for-closure.rs",
+"ui/suggestions/issue-106443-sugg-clone-for-arg.rs",
+"ui/suggestions/issue-106443-sugg-clone-for-bound.rs",
+"ui/suggestions/issue-107860.rs",
+"ui/suggestions/issue-108470.rs",
+"ui/suggestions/issue-109195.rs",
+"ui/suggestions/issue-109291.rs",
+"ui/suggestions/issue-109396.rs",
+"ui/suggestions/issue-109436.rs",
+"ui/suggestions/issue-109854.rs",
+"ui/suggestions/issue-109991.rs",
+"ui/suggestions/issue-112590-suggest-import.rs",
+"ui/suggestions/issue-114701.rs",
+"ui/suggestions/issue-114797-bad-parentheses-dyn-trait.rs",
+"ui/suggestions/issue-116434-2015.rs",
+"ui/suggestions/issue-116434-2021.rs",
+"ui/suggestions/issue-117669.rs",
+"ui/suggestions/issue-21673.rs",
+"ui/suggestions/issue-51055-missing-semicolon-between-call-and-tuple.rs",
+"ui/suggestions/issue-52820.rs",
+"ui/suggestions/issue-53692.rs",
+"ui/suggestions/issue-57672.rs",
+"ui/suggestions/issue-59819.rs",
+"ui/suggestions/issue-61226.rs",
+"ui/suggestions/issue-61963.rs",
+"ui/suggestions/issue-62843.rs",
+"ui/suggestions/issue-64252-self-type.rs",
+"ui/suggestions/issue-66968-suggest-sorted-words.rs",
+"ui/suggestions/issue-68049-1.rs",
+"ui/suggestions/issue-68049-2.rs",
+"ui/suggestions/issue-71394-no-from-impl.rs",
+"ui/suggestions/issue-72766.rs",
+"ui/suggestions/issue-79843-impl-trait-with-missing-bounds-on-async-fn.rs",
+"ui/suggestions/issue-81098.rs",
+"ui/suggestions/issue-81839.rs",
+"ui/suggestions/issue-82361.rs",
+"ui/suggestions/issue-82566-1.rs",
+"ui/suggestions/issue-82566-2.rs",
+"ui/suggestions/issue-83892.rs",
+"ui/suggestions/issue-83943.rs",
+"ui/suggestions/issue-84592.rs",
+"ui/suggestions/issue-84700.rs",
+"ui/suggestions/issue-84973-2.rs",
+"ui/suggestions/issue-84973-blacklist.rs",
+"ui/suggestions/issue-84973-negative.rs",
+"ui/suggestions/issue-84973.rs",
+"ui/suggestions/issue-85347.rs",
+"ui/suggestions/issue-85943-no-suggest-unsized-indirection-in-where-clause.rs",
+"ui/suggestions/issue-85945-check-where-clause-before-suggesting-unsized.rs",
+"ui/suggestions/issue-86100-tuple-paren-comma.rs",
+"ui/suggestions/issue-86667.rs",
+"ui/suggestions/issue-88696.rs",
+"ui/suggestions/issue-88730.rs",
+"ui/suggestions/issue-89064.rs",
+"ui/suggestions/issue-89333.rs",
+"ui/suggestions/issue-89640.rs",
+"ui/suggestions/issue-90213-expected-boxfuture-self-ice.rs",
+"ui/suggestions/issue-90974.rs",
+"ui/suggestions/issue-94171.rs",
+"ui/suggestions/issue-96223.rs",
+"ui/suggestions/issue-96555.rs",
+"ui/suggestions/issue-97677.rs",
+"ui/suggestions/issue-97704.rs",
+"ui/suggestions/issue-97760.rs",
+"ui/suggestions/issue-98500.rs",
+"ui/suggestions/issue-98562.rs",
+"ui/suggestions/issue-99080.rs",
+"ui/suggestions/issue-99240-2.rs",
+"ui/suggestions/issue-99240.rs",
+"ui/suggestions/issue-99597.rs",
+"ui/suggestions/lifetimes/issue-105544.rs",
+"ui/symbol-names/issue-53912.rs",
+"ui/symbol-names/issue-60925.rs",
+"ui/symbol-names/issue-75326.rs",
+"ui/symbol-names/issue-76365.rs",
+"ui/test-attrs/custom-test-frameworks/issue-107454.rs",
+"ui/test-attrs/issue-109816.rs",
+"ui/test-attrs/issue-12997-1.rs",
+"ui/test-attrs/issue-12997-2.rs",
+"ui/test-attrs/issue-16597-empty.rs",
+"ui/test-attrs/issue-16597.rs",
+"ui/test-attrs/issue-20823.rs",
+"ui/test-attrs/issue-34932.rs",
+"ui/test-attrs/issue-36768.rs",
+"ui/test-attrs/issue-52557.rs",
+"ui/test-attrs/issue-53675-a-test-called-panic.rs",
+"ui/threads-sendsync/issue-24313.rs",
+"ui/threads-sendsync/issue-29488.rs",
+"ui/threads-sendsync/issue-43733-2.rs",
+"ui/threads-sendsync/issue-43733.rs",
+"ui/threads-sendsync/issue-4446.rs",
+"ui/threads-sendsync/issue-4448.rs",
+"ui/threads-sendsync/issue-8827.rs",
+"ui/threads-sendsync/issue-9396.rs",
+"ui/trait-bounds/issue-119530-sugg-from-fn.rs",
+"ui/trait-bounds/issue-75961.rs",
+"ui/trait-bounds/issue-82038.rs",
+"ui/trait-bounds/issue-93008.rs",
+"ui/trait-bounds/issue-94680.rs",
+"ui/trait-bounds/issue-94999.rs",
+"ui/trait-bounds/issue-95640.rs",
+"ui/traits/alias/issue-107747-do-not-assemble-supertraits.rs",
+"ui/traits/alias/issue-108072-unmet-trait-alias-bound.rs",
+"ui/traits/alias/issue-108132-unmet-trait-alias-bound-on-generic-impl.rs",
+"ui/traits/alias/issue-60021-assoc-method-resolve.rs",
+"ui/traits/alias/issue-60755.rs",
+"ui/traits/alias/issue-72415-assoc-const-resolve.rs",
+"ui/traits/alias/issue-75983.rs",
+"ui/traits/alias/issue-83613.rs",
+"ui/traits/associated_type_bound/issue-51446.rs",
+"ui/traits/auxiliary/issue_89119_intercrate_caching.rs",
+"ui/traits/issue-103563.rs",
+"ui/traits/issue-104322.rs",
+"ui/traits/issue-105231.rs",
+"ui/traits/issue-106072.rs",
+"ui/traits/issue-117794.rs",
+"ui/traits/issue-18400.rs",
+"ui/traits/issue-18412.rs",
+"ui/traits/issue-20692.rs",
+"ui/traits/issue-22019.rs",
+"ui/traits/issue-22110.rs",
+"ui/traits/issue-22384.rs",
+"ui/traits/issue-22655.rs",
+"ui/traits/issue-23003-overflow.rs",
+"ui/traits/issue-23003.rs",
+"ui/traits/issue-23825.rs",
+"ui/traits/issue-24010.rs",
+"ui/traits/issue-26339.rs",
+"ui/traits/issue-28576.rs",
+"ui/traits/issue-32963.rs",
+"ui/traits/issue-33096.rs",
+"ui/traits/issue-33140-hack-boundaries.rs",
+"ui/traits/issue-33140.rs",
+"ui/traits/issue-35869.rs",
+"ui/traits/issue-3683.rs",
+"ui/traits/issue-38033.rs",
+"ui/traits/issue-38404.rs",
+"ui/traits/issue-38604.rs",
+"ui/traits/issue-3973.rs",
+"ui/traits/issue-40085.rs",
+"ui/traits/issue-4107.rs",
+"ui/traits/issue-43132.rs",
+"ui/traits/issue-43784-supertrait.rs",
+"ui/traits/issue-5008-borrowed-traitobject-method-call.rs",
+"ui/traits/issue-50480.rs",
+"ui/traits/issue-52893.rs",
+"ui/traits/issue-56202.rs",
+"ui/traits/issue-56488.rs",
+"ui/traits/issue-58344.rs",
+"ui/traits/issue-59029-1.rs",
+"ui/traits/issue-59029-2.rs",
+"ui/traits/issue-6128.rs",
+"ui/traits/issue-6334.rs",
+"ui/traits/issue-65284-suggest-generic-trait-bound.rs",
+"ui/traits/issue-65673.rs",
+"ui/traits/issue-66768.rs",
+"ui/traits/issue-68295.rs",
+"ui/traits/issue-7013.rs",
+"ui/traits/issue-70944.rs",
+"ui/traits/issue-71036.rs",
+"ui/traits/issue-71136.rs",
+"ui/traits/issue-72410.rs",
+"ui/traits/issue-72455.rs",
+"ui/traits/issue-75627.rs",
+"ui/traits/issue-77982.rs",
+"ui/traits/issue-78372.rs",
+"ui/traits/issue-78632.rs",
+"ui/traits/issue-79458.rs",
+"ui/traits/issue-8153.rs",
+"ui/traits/issue-82830.rs",
+"ui/traits/issue-83538-tainted-cache-after-cycle.rs",
+"ui/traits/issue-84399-bad-fresh-caching.rs",
+"ui/traits/issue-85360-eval-obligation-ice.rs",
+"ui/traits/issue-85735.rs",
+"ui/traits/issue-87558.rs",
+"ui/traits/issue-89119.rs",
+"ui/traits/issue-90195-2.rs",
+"ui/traits/issue-90195.rs",
+"ui/traits/issue-90662-projection-caching.rs",
+"ui/traits/issue-91594.rs",
+"ui/traits/issue-91949-hangs-on-recursion.rs",
+"ui/traits/issue-92292.rs",
+"ui/traits/issue-9394-inherited-calls.rs",
+"ui/traits/issue-95311.rs",
+"ui/traits/issue-95898.rs",
+"ui/traits/issue-96664.rs",
+"ui/traits/issue-96665.rs",
+"ui/traits/issue-97576.rs",
+"ui/traits/issue-97695-double-trivial-bound.rs",
+"ui/traits/issue-99875.rs",
+"ui/traits/next-solver/coherence/issue-102048.rs",
+"ui/traits/next-solver/issue-118950-root-region.rs",
+"ui/traits/object/issue-33140-traitobject-crate.rs",
+"ui/traits/object/issue-44454-1.rs",
+"ui/traits/object/issue-44454-2.rs",
+"ui/traits/object/issue-44454-3.rs",
+"ui/traits/suggest-dereferences/issue-39029.rs",
+"ui/traits/suggest-dereferences/issue-62530.rs",
+"ui/traits/trait-upcasting/issue-11515-upcast-fn_mut-fn.rs",
+"ui/traits/trait-upcasting/issue-11515.rs",
+"ui/traits/vtable/issue-91807.rs",
+"ui/traits/vtable/issue-97381.rs",
+"ui/transmutability/arrays/issue-103783-array-length.rs",
+"ui/transmutability/issue-101739-1.rs",
+"ui/transmutability/issue-101739-2.rs",
+"ui/transmutability/issue-110467.rs",
+"ui/transmutability/issue-110892.rs",
+"ui/transmute/issue-115402-overflow-size.rs",
+"ui/trivial-bounds/issue-73021-impossible-inline.rs",
+"ui/try-block/issue-45124.rs",
+"ui/try-trait/issue-32709.rs",
+"ui/type-alias-enum-variants/issue-57866.rs",
+"ui/type-alias-enum-variants/issue-61801-path-pattern-can-infer.rs",
+"ui/type-alias-enum-variants/issue-63151-dead-code-lint-fields-in-patterns.rs",
+"ui/type-alias-impl-trait/issue-101750.rs",
+"ui/type-alias-impl-trait/issue-104817.rs",
+"ui/type-alias-impl-trait/issue-109054.rs",
+"ui/type-alias-impl-trait/issue-52843-closure-constrain.rs",
+"ui/type-alias-impl-trait/issue-52843.rs",
+"ui/type-alias-impl-trait/issue-53092-2.rs",
+"ui/type-alias-impl-trait/issue-53092.rs",
+"ui/type-alias-impl-trait/issue-53096.rs",
+"ui/type-alias-impl-trait/issue-53398-cyclic-types.rs",
+"ui/type-alias-impl-trait/issue-53598.rs",
+"ui/type-alias-impl-trait/issue-53678-coroutine-and-const-fn.rs",
+"ui/type-alias-impl-trait/issue-55099-lifetime-inference.rs",
+"ui/type-alias-impl-trait/issue-57188-associate-impl-capture.rs",
+"ui/type-alias-impl-trait/issue-57611-trait-alias.rs",
+"ui/type-alias-impl-trait/issue-57700.rs",
+"ui/type-alias-impl-trait/issue-57807-associated-type.rs",
+"ui/type-alias-impl-trait/issue-57961.rs",
+"ui/type-alias-impl-trait/issue-58662-coroutine-with-lifetime.rs",
+"ui/type-alias-impl-trait/issue-58662-simplified.rs",
+"ui/type-alias-impl-trait/issue-58887.rs",
+"ui/type-alias-impl-trait/issue-58951-2.rs",
+"ui/type-alias-impl-trait/issue-58951.rs",
+"ui/type-alias-impl-trait/issue-60371.rs",
+"ui/type-alias-impl-trait/issue-60407.rs",
+"ui/type-alias-impl-trait/issue-60564-working.rs",
+"ui/type-alias-impl-trait/issue-60564.rs",
+"ui/type-alias-impl-trait/issue-60662.rs",
+"ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.rs",
+"ui/type-alias-impl-trait/issue-63263-closure-return.rs",
+"ui/type-alias-impl-trait/issue-63279.rs",
+"ui/type-alias-impl-trait/issue-63355.rs",
+"ui/type-alias-impl-trait/issue-63677-type-alias-coherence.rs",
+"ui/type-alias-impl-trait/issue-65384.rs",
+"ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.rs",
+"ui/type-alias-impl-trait/issue-65918.rs",
+"ui/type-alias-impl-trait/issue-66580-closure-coherence.rs",
+"ui/type-alias-impl-trait/issue-67844-nested-opaque.rs",
+"ui/type-alias-impl-trait/issue-68368-non-defining-use-2.rs",
+"ui/type-alias-impl-trait/issue-68368-non-defining-use.rs",
+"ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.rs",
+"ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.rs",
+"ui/type-alias-impl-trait/issue-69323.rs",
+"ui/type-alias-impl-trait/issue-70121.rs",
+"ui/type-alias-impl-trait/issue-72793.rs",
+"ui/type-alias-impl-trait/issue-74244.rs",
+"ui/type-alias-impl-trait/issue-74280.rs",
+"ui/type-alias-impl-trait/issue-74761-2.rs",
+"ui/type-alias-impl-trait/issue-74761.rs",
+"ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.rs",
+"ui/type-alias-impl-trait/issue-77179.rs",
+"ui/type-alias-impl-trait/issue-78450.rs",
+"ui/type-alias-impl-trait/issue-84660-trait-impl-for-tait.rs",
+"ui/type-alias-impl-trait/issue-84660-unsoundness.rs",
+"ui/type-alias-impl-trait/issue-87455-static-lifetime-ice.rs",
+"ui/type-alias-impl-trait/issue-89686.rs",
+"ui/type-alias-impl-trait/issue-89952.rs",
+"ui/type-alias-impl-trait/issue-90400-1.rs",
+"ui/type-alias-impl-trait/issue-90400-2.rs",
+"ui/type-alias-impl-trait/issue-93411.rs",
+"ui/type-alias-impl-trait/issue-94429.rs",
+"ui/type-alias-impl-trait/issue-96572-unconstrained-mismatch.rs",
+"ui/type-alias-impl-trait/issue-96572-unconstrained.rs",
+"ui/type-alias-impl-trait/issue-98604.rs",
+"ui/type-alias-impl-trait/issue-98608.rs",
+"ui/type-alias/issue-14933.rs",
+"ui/type-alias/issue-37515.rs",
+"ui/type-alias/issue-62263-self-in-atb.rs",
+"ui/type-alias/issue-62305-self-assoc-ty.rs",
+"ui/type-alias/issue-62364-self-ty-arg.rs",
+"ui/type-inference/issue-113283-alllocator-trait-eq.rs",
+"ui/type-inference/issue-30225.rs",
+"ui/type/ascription/issue-34255-1.rs",
+"ui/type/ascription/issue-47666.rs",
+"ui/type/ascription/issue-54516.rs",
+"ui/type/ascription/issue-60933.rs",
+"ui/type/issue-100584.rs",
+"ui/type/issue-101866.rs",
+"ui/type/issue-102598.rs",
+"ui/type/issue-103271.rs",
+"ui/type/issue-58355.rs",
+"ui/type/issue-67690-type-alias-bound-diagnostic-crash.rs",
+"ui/type/issue-91268.rs",
+"ui/type/issue-94187-verbose-type-name.rs",
+"ui/type/type-check/issue-116967-cannot-coerce-returned-result.rs",
+"ui/type/type-check/issue-22897.rs",
+"ui/type/type-check/issue-40294.rs",
+"ui/type/type-check/issue-41314.rs",
+"ui/type/type-check/issue-67273-assignment-match-prior-arm-bool-expected-unit.rs",
+"ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.rs",
+"ui/typeck/auxiliary/issue-29181.rs",
+"ui/typeck/auxiliary/issue-36708.rs",
+"ui/typeck/auxiliary/issue-81943-lib.rs",
+"ui/typeck/issue-100164.rs",
+"ui/typeck/issue-100246.rs",
+"ui/typeck/issue-100285.rs",
+"ui/typeck/issue-103899.rs",
+"ui/typeck/issue-10401.rs",
+"ui/typeck/issue-104510-ice.rs",
+"ui/typeck/issue-104513-ice.rs",
+"ui/typeck/issue-104582.rs",
+"ui/typeck/issue-105946.rs",
+"ui/typeck/issue-106929.rs",
+"ui/typeck/issue-107087.rs",
+"ui/typeck/issue-107775.rs",
+"ui/typeck/issue-10969.rs",
+"ui/typeck/issue-110017-format-into-help-deletes-macro.rs",
+"ui/typeck/issue-110052.rs",
+"ui/typeck/issue-112007-leaked-writeln-macro-internals.rs",
+"ui/typeck/issue-112252-ptr-arithmetics-help.rs",
+"ui/typeck/issue-112385-while-assign-lhs-place-expr-ice.rs",
+"ui/typeck/issue-114423-ice-regression-in-suggestion.rs",
+"ui/typeck/issue-114529-illegal-break-with-value.rs",
+"ui/typeck/issue-116473-ice-wrong-span-variant-args.rs",
+"ui/typeck/issue-116864.rs",
+"ui/typeck/issue-120856.rs",
+"ui/typeck/issue-13853-2.rs",
+"ui/typeck/issue-13853-5.rs",
+"ui/typeck/issue-13853.rs",
+"ui/typeck/issue-16338.rs",
+"ui/typeck/issue-1871.rs",
+"ui/typeck/issue-18937-1.rs",
+"ui/typeck/issue-18937.rs",
+"ui/typeck/issue-2063-resource.rs",
+"ui/typeck/issue-2063.rs",
+"ui/typeck/issue-22375.rs",
+"ui/typeck/issue-29124.rs",
+"ui/typeck/issue-29181.rs",
+"ui/typeck/issue-31173.rs",
+"ui/typeck/issue-33575.rs",
+"ui/typeck/issue-36708.rs",
+"ui/typeck/issue-43189.rs",
+"ui/typeck/issue-46112.rs",
+"ui/typeck/issue-50687-ice-on-borrow.rs",
+"ui/typeck/issue-52082-type-param-shadows-existing-type.rs",
+"ui/typeck/issue-53712.rs",
+"ui/typeck/issue-55810-must-typeck-match-pats-before-guards.rs",
+"ui/typeck/issue-57404.rs",
+"ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.rs",
+"ui/typeck/issue-61711-once-caused-rustc-inf-loop.rs",
+"ui/typeck/issue-65611.rs",
+"ui/typeck/issue-67971.rs",
+"ui/typeck/issue-68590-reborrow-through-derefmut.rs",
+"ui/typeck/issue-69378-ice-on-invalid-type-node-after-recovery.rs",
+"ui/typeck/issue-72225-call-fnmut-through-derefmut.rs",
+"ui/typeck/issue-73592-borrow_mut-through-deref.rs",
+"ui/typeck/issue-74086.rs",
+"ui/typeck/issue-74933.rs",
+"ui/typeck/issue-75883.rs",
+"ui/typeck/issue-75889.rs",
+"ui/typeck/issue-7813.rs",
+"ui/typeck/issue-79040.rs",
+"ui/typeck/issue-80207-unsized-return.rs",
+"ui/typeck/issue-80779.rs",
+"ui/typeck/issue-81293.rs",
+"ui/typeck/issue-81885.rs",
+"ui/typeck/issue-81943.rs",
+"ui/typeck/issue-82772.rs",
+"ui/typeck/issue-83621-placeholder-static-in-extern.rs",
+"ui/typeck/issue-83693.rs",
+"ui/typeck/issue-84160.rs",
+"ui/typeck/issue-84768.rs",
+"ui/typeck/issue-84831.rs",
+"ui/typeck/issue-86721-return-expr-ice.rs",
+"ui/typeck/issue-87771-ice-assign-assign-to-bool.rs",
+"ui/typeck/issue-87872-missing-inaccessible-field-literal.rs",
+"ui/typeck/issue-87872-missing-inaccessible-field-pattern.rs",
+"ui/typeck/issue-88609.rs",
+"ui/typeck/issue-88643.rs",
+"ui/typeck/issue-88803-call-expr-method.rs",
+"ui/typeck/issue-88844.rs",
+"ui/typeck/issue-89044-wrapped-expr-method.rs",
+"ui/typeck/issue-89275.rs",
+"ui/typeck/issue-89806.rs",
+"ui/typeck/issue-89856.rs",
+"ui/typeck/issue-89935.rs",
+"ui/typeck/issue-90027-async-fn-return-suggestion.rs",
+"ui/typeck/issue-90101.rs",
+"ui/typeck/issue-90164.rs",
+"ui/typeck/issue-90319.rs",
+"ui/typeck/issue-90483-inaccessible-field-adjustment.rs",
+"ui/typeck/issue-90804-incorrect-reference-suggestion.rs",
+"ui/typeck/issue-91210-ptr-method.rs",
+"ui/typeck/issue-91267.rs",
+"ui/typeck/issue-91328.rs",
+"ui/typeck/issue-91334.rs",
+"ui/typeck/issue-91450-inner-ty-error.rs",
+"ui/typeck/issue-91633.rs",
+"ui/typeck/issue-92481.rs",
+"ui/typeck/issue-93486.rs",
+"ui/typeck/issue-96530.rs",
+"ui/typeck/issue-96738.rs",
+"ui/typeck/issue-98260.rs",
+"ui/typeck/issue-98982.rs",
+"ui/typeof/issue-100183.rs",
+"ui/typeof/issue-29184.rs",
+"ui/typeof/issue-42060.rs",
+"ui/unboxed-closures/issue-18652.rs",
+"ui/unboxed-closures/issue-18661.rs",
+"ui/unboxed-closures/issue-30906.rs",
+"ui/unboxed-closures/issue-53448.rs",
+"ui/underscore-imports/issue-110164.rs",
+"ui/uniform-paths/auxiliary/issue-53691.rs",
+"ui/uniform-paths/issue-53691.rs",
+"ui/uninhabited/issue-107505.rs",
+"ui/union/issue-41073.rs",
+"ui/union/issue-81199.rs",
+"ui/union/issue-99375.rs",
+"ui/unsafe/auxiliary/issue-106126.rs",
+"ui/unsafe/issue-106126-good-path-bug.rs",
+"ui/unsafe/issue-115348-false-positive-warning-of-unnecessary-unsafe.rs",
+"ui/unsafe/issue-3080.rs",
+"ui/unsafe/issue-45087-unreachable-unsafe.rs",
+"ui/unsafe/issue-45107-unnecessary-unsafe-in-closure.rs",
+"ui/unsafe/issue-47412.rs",
+"ui/unsafe/issue-85435-unsafe-op-in-let-under-unsafe-under-closure.rs",
+"ui/unsafe/issue-87414-query-cycle.rs",
+"ui/unsized-locals/issue-30276-feature-flagged.rs",
+"ui/unsized-locals/issue-30276.rs",
+"ui/unsized-locals/issue-50940-with-feature.rs",
+"ui/unsized-locals/issue-50940.rs",
+"ui/unsized-locals/issue-67981.rs",
+"ui/unsized/issue-115203.rs",
+"ui/unsized/issue-115809.rs",
+"ui/unsized/issue-30355.rs",
+"ui/unsized/issue-40231-1.rs",
+"ui/unsized/issue-40231-2.rs",
+"ui/unsized/issue-71659.rs",
+"ui/unsized/issue-75707.rs",
+"ui/unsized/issue-75899-but-gats.rs",
+"ui/unsized/issue-75899.rs",
+"ui/unsized/issue-91801.rs",
+"ui/unsized/issue-91803.rs",
+"ui/unsized/issue-97732.rs",
+"ui/use/issue-18986.rs",
+"ui/use/issue-60976-extern-use-primitive-type.rs",
+"ui/wf/issue-103573.rs",
+"ui/wf/issue-110157.rs",
+"ui/wf/issue-48638.rs",
+"ui/wf/issue-87495.rs",
+"ui/wf/issue-95665.rs",
+"ui/wf/issue-96810.rs",
+"ui/where-clauses/issue-50825-1.rs",
+"ui/where-clauses/issue-50825.rs",
+]
diff --git a/src/tools/tidy/src/main.rs b/src/tools/tidy/src/main.rs
index a9340c40f44..870322c44fb 100644
--- a/src/tools/tidy/src/main.rs
+++ b/src/tools/tidy/src/main.rs
@@ -101,7 +101,7 @@ fn main() {
         // Checks over tests.
         check!(tests_placement, &root_path);
         check!(debug_artifacts, &tests_path);
-        check!(ui_tests, &tests_path);
+        check!(ui_tests, &tests_path, bless);
         check!(mir_opt_tests, &tests_path, bless);
         check!(rustdoc_gui_tests, &tests_path);
         check!(rustdoc_css_themes, &librustdoc_path);
diff --git a/src/tools/tidy/src/ui_tests.rs b/src/tools/tidy/src/ui_tests.rs
index 5517b9fdcec..920fe16a9fc 100644
--- a/src/tools/tidy/src/ui_tests.rs
+++ b/src/tools/tidy/src/ui_tests.rs
@@ -1,11 +1,13 @@
 //! Tidy check to ensure below in UI test directories:
 //! - the number of entries in each directory must be less than `ENTRY_LIMIT`
 //! - there are no stray `.stderr` files
-
 use ignore::Walk;
-use std::collections::HashMap;
+use lazy_static::lazy_static;
+use regex::Regex;
+use std::collections::{BTreeSet, HashMap};
 use std::ffi::OsStr;
 use std::fs;
+use std::io::Write;
 use std::path::{Path, PathBuf};
 
 // FIXME: GitHub's UI truncates file lists that exceed 1000 entries, so these
@@ -16,7 +18,7 @@ const ENTRY_LIMIT: usize = 900;
 // FIXME: The following limits should be reduced eventually.
 
 const ISSUES_ENTRY_LIMIT: usize = 1781;
-const ROOT_ENTRY_LIMIT: usize = 871;
+const ROOT_ENTRY_LIMIT: usize = 872;
 
 const EXPECTED_TEST_FILE_EXTENSIONS: &[&str] = &[
     "rs",     // test source files
@@ -95,8 +97,17 @@ fn check_entries(tests_path: &Path, bad: &mut bool) {
     }
 }
 
-pub fn check(path: &Path, bad: &mut bool) {
+pub fn check(path: &Path, bless: bool, bad: &mut bool) {
     check_entries(&path, bad);
+
+    // the list of files in ui tests that are allowed to start with `issue-XXXX`
+    // BTreeSet because we would like a stable ordering so --bless works
+    let allowed_issue_names = BTreeSet::from(
+        include!("issues.txt").map(|path| path.replace("/", std::path::MAIN_SEPARATOR_STR)),
+    );
+
+    let mut remaining_issue_names: BTreeSet<String> = allowed_issue_names.clone();
+
     let (ui, ui_fulldeps) = (path.join("ui"), path.join("ui-fulldeps"));
     let paths = [ui.as_path(), ui_fulldeps.as_path()];
     crate::walk::walk_no_read(&paths, |_, _| false, &mut |entry| {
@@ -109,6 +120,11 @@ pub fn check(path: &Path, bad: &mut bool) {
             {
                 tidy_error!(bad, "file {} has unexpected extension {}", file_path.display(), ext);
             }
+
+            // NB: We do not use file_stem() as some file names have multiple `.`s and we
+            // must strip all of them.
+            let testname =
+                file_path.file_name().unwrap().to_str().unwrap().split_once('.').unwrap().0;
             if ext == "stderr" || ext == "stdout" || ext == "fixed" {
                 // Test output filenames have one of the formats:
                 // ```
@@ -120,11 +136,7 @@ pub fn check(path: &Path, bad: &mut bool) {
                 //
                 // For now, just make sure that there is a corresponding
                 // `$testname.rs` file.
-                //
-                // NB: We do not use file_stem() as some file names have multiple `.`s and we
-                // must strip all of them.
-                let testname =
-                    file_path.file_name().unwrap().to_str().unwrap().split_once('.').unwrap().0;
+
                 if !file_path.with_file_name(testname).with_extension("rs").exists()
                     && !testname.contains("ignore-tidy")
                 {
@@ -137,6 +149,60 @@ pub fn check(path: &Path, bad: &mut bool) {
                     }
                 }
             }
+
+            if ext == "rs" {
+                lazy_static! {
+                    static ref ISSUE_NAME_REGEX: Regex =
+                        Regex::new(r"^issues?[-_]?(\d{3,})").unwrap();
+                }
+
+                if let Some(test_name) = ISSUE_NAME_REGEX.captures(testname) {
+                    // these paths are always relative to the passed `path` and always UTF8
+                    let stripped_path = file_path.strip_prefix(path).unwrap().to_str().unwrap();
+                    if !remaining_issue_names.remove(stripped_path) {
+                        tidy_error!(
+                            bad,
+                            "file `tests/{stripped_path}` must begin with a descriptive name, consider `{{reason}}-issue-{issue_n}.rs`",
+                            issue_n = &test_name[1],
+                        );
+                    }
+                }
+            }
         }
     });
+
+    // if an excluded file is renamed, it must be removed from this list
+    // do this automatically on bless, otherwise issue a tidy error
+    if bless {
+        let issues_txt_header = r#"
+/*
+============================================================
+    ⚠️⚠️⚠️NOTHING SHOULD EVER BE ADDED TO THIS LIST⚠️⚠️⚠️
+============================================================
+*/
+[
+"#;
+        let tidy_src = std::env::current_dir().unwrap().join("src/tools/tidy/src");
+        // instead of overwriting the file, recreate it and use an "atomic rename"
+        // so we don't bork things on panic or a contributor using Ctrl+C
+        let blessed_issues_path = tidy_src.join("issues_blessed.txt");
+        let mut blessed_issues_txt = fs::File::create(&blessed_issues_path).unwrap();
+        blessed_issues_txt.write(issues_txt_header.as_bytes()).unwrap();
+        for filename in allowed_issue_names.difference(&remaining_issue_names) {
+            write!(blessed_issues_txt, "\"{filename}\",\n").unwrap();
+        }
+        write!(blessed_issues_txt, "]\n").unwrap();
+        let old_issues_path = tidy_src.join("issues.txt");
+        fs::rename(blessed_issues_path, old_issues_path).unwrap();
+    } else {
+        for file_name in remaining_issue_names {
+            let mut p = PathBuf::from(path);
+            p.push(file_name);
+            tidy_error!(
+                bad,
+                "file `{}` no longer exists and should be removed from the exclusions in `src/tools/tidy/src/issues.txt`",
+                p.display()
+            );
+        }
+    }
 }