about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-05-16Updated feature flag and output of `clippy/tests/ui/map_flatten*`Ryan van Polen-12/+10
2025-05-16Removed feature flag from `compiler/rustc_driver_impl`Ryan van Polen-1/+0
2025-05-16Updated feature and stable flagsRyan van Polen-4/+3
2025-05-16Auto merge of #140557 - compiler-errors:remove-wf-hack, r=lcnrbors-72/+89
Remove manual WF hack We do not need this hack anymore since we fixed the candidate selection problems with `Sized` bounds. We prefer built-in sized bounds now since #138176, which fixes the only regression this hack was intended to fix. While this theoretically is broken for some code, for example, when there a param-env bound that shadows an impl or built-in trait, we don't see it in practice and IMO it's not worth the burden of having to maintain this wart in `compare_method_predicate_entailment`. The code that regresses is, for example: ```rust trait Bar<'a> {} trait Foo<'a, T> { fn method(&self) where Self: Bar<'a>; } struct W<'a, T>(&'a T) where Self: Bar<'a>; impl<'a, 'b, T> Bar<'a> for W<'b, T> {} impl<'a, 'b, T> Foo<'a, T> for W<'b, T> { fn method(&self) {} } ``` Specifically, I don't believe this is really going to be encountered in practice. For this to fail, there must be a where clause in the *trait method* that would shadow an impl or built-in (non-`Sized`) candidate in the trait, and this shadowing would need to be encountered when solving a nested WF goal from the impl self type. See #108544 for the original regression. Crater run is clean! r? lcnr
2025-05-15Auto merge of #141050 - matthiaskrgr:rollup-uyzqbmj, r=matthiaskrgrbors-146/+536
Rollup of 7 pull requests Successful merges: - #139749 (docs(library/core/src/pin): fix typo "necessarily" -> "necessary") - #140685 (Simplify `Vec::as_non_null` implementation and make it `const`) - #140712 (normalization: avoid incompletely constraining GAT args) - #140768 (Improve `dangerous_implicit_aurorefs` diagnostic output) - #140947 (Flush errors before deep normalize in `dropck_outlives`) - #140990 (VxWorks: updates from recent libc versions) - #141027 (remove `RustfmtState` to reduce `initial_rustfmt` complexity) r? `@ghost` `@rustbot` modify labels: rollup
2025-05-15Rollup merge of #141027 - onur-ozkan:simpler-rustfmt-initialization, ↵Matthias Krüger-50/+12
r=albertlarsan68 remove `RustfmtState` to reduce `initial_rustfmt` complexity The current use of `RustfmtState` doesn't serve its main purpose as it never does the lazy evaulation since `Build::build` forces it to be ready on the early stage. If we want rustfmt to be ready on the early stage, we don't need to have `RustfmtState` complexity at all.
2025-05-15Rollup merge of #140990 - biabbas:vxworks, r=tgross35Matthias Krüger-12/+3
VxWorks: updates from recent libc versions Vxworks changes. Required changes were added to libc in pr https://github.com/rust-lang/libc/pull/4407 and https://github.com/rust-lang/libc/pull/4337
2025-05-15Rollup merge of #140947 - compiler-errors:pending-norm, r=lcnrMatthias Krüger-11/+132
Flush errors before deep normalize in `dropck_outlives` Deep normalization doesn't allow the ocx to have pending obligations, so process them before deeply normalizing. Fixes https://github.com/rust-lang/rust/issues/140931 Fixes https://github.com/rust-lang/rust/issues/140462
2025-05-15Rollup merge of #140768 - Urgau:improv_autorefs-lint, r=fmeaseMatthias Krüger-33/+262
Improve `dangerous_implicit_aurorefs` diagnostic output This PR *greatly* improves the `dangerous_implicit_aurorefs` lint diagnostic output. Kind of related to #140721. r? ```@jieyouxu``` (maybe)
2025-05-15Rollup merge of #140712 - lcnr:normalization-gat-args, r=compiler-errorsMatthias Krüger-31/+118
normalization: avoid incompletely constraining GAT args We need to copy the behavior of #125214 in the new solver. This fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/202 which seems to be the cause of the regression in `deptypes`. r? ```@compiler-errors```
2025-05-15Rollup merge of #140685 - viliml:patch-1, r=Mark-SimulacrumMatthias Krüger-4/+4
Simplify `Vec::as_non_null` implementation and make it `const` Tracking issue: #130364.
2025-05-15Rollup merge of #139749 - ↵Matthias Krüger-5/+5
ruancomelli:docs/library/core/src/pin/fix-typo-necessarily-to-necessary, r=joboet docs(library/core/src/pin): fix typo "necessarily" -> "necessary" Fix a typo in [`library/core/src/pin.rs`](https://github.com/ruancomelli/rust/blob/14662fabeb69fe5ab6c6e68051bf9f80d4aaaa35/library/core/src/pin.rs), from > As we'll see later, this is **necessarily** from the time the value is first pinned until the end of its lifespan. to > As we'll see later, this is **necessary** from the time the value is first pinned until the end of its lifespan. (my emphasis).
2025-05-15Auto merge of #136264 - GuillaumeGomez:optimize-integers-to-string, r=Amanieubors-15/+73
Optimize `ToString` implementation for integers Part of https://github.com/rust-lang/rust/issues/135543. Follow-up of https://github.com/rust-lang/rust/pull/133247 and https://github.com/rust-lang/rust/pull/128204. The benchmark results are: | name| 1.87.0-nightly (3ea711f17 2025-03-09) | With this PR | diff | |-|-|-|-| | bench_i16 | 32.06 ns/iter (+/- 0.12) | 17.62 ns/iter (+/- 0.03) | -45% | | bench_i32 | 31.61 ns/iter (+/- 0.04) | 15.10 ns/iter (+/- 0.06) | -52% | | bench_i64 | 31.71 ns/iter (+/- 0.07) | 15.02 ns/iter (+/- 0.20) | -52% | | bench_i8 | 13.21 ns/iter (+/- 0.14) | 14.93 ns/iter (+/- 0.16) | +13% | | bench_u16 | 31.20 ns/iter (+/- 0.06) | 16.14 ns/iter (+/- 0.11) | -48% | | bench_u32 | 33.27 ns/iter (+/- 0.05) | 16.18 ns/iter (+/- 0.10) | -51% | | bench_u64 | 31.44 ns/iter (+/- 0.06) | 16.62 ns/iter (+/- 0.21) | -47% | | bench_u8 | 10.57 ns/iter (+/- 0.30) | 13.00 ns/iter (+/- 0.43) | +22% | More information about it in [the original comment](https://github.com/rust-lang/rust/pull/136264#discussion_r1987542954). r? `@workingjubilee`
2025-05-15Auto merge of #136988 - compiler-errors:impossible_predicates, r=lcnrbors-9/+43
Use the new solver in the `impossible_predicates` The old solver is unsound for many reasons. One of which was weaponized by `@lcnr` in #140212, where the old solver was incompletely considering a dyn vtable method to be impossible and replacing its vtable entry with a null value. This null function could be called post-mono. The new solver is expected to be less incomplete due to its correct handling of higher-ranked aliases in relate. This PR switches the `impossible_predicates` query to use the new solver, which patches this UB. r? lcnr
2025-05-15Auto merge of #141011 - matthiaskrgr:rollup-4uwllo2, r=matthiaskrgrbors-46/+194
Rollup of 7 pull requests Successful merges: - #140827 (Do not ICE when reassigning in GatherLocalsVisitor on the bad path) - #140904 (Add an issue template for future-incompatible lints) - #140953 (Fix a compiletest blessing message) - #140973 (Update rustix to 1.0.7 for bootstrap) - #140976 (Add `Ipv4Addr` and `Ipv6Addr` diagnostic items) - #140988 (MaybeUninit::write: fix doc) - #140989 (Suggest replace f with f: Box<f> when expr field is short hand) r? `@ghost` `@rustbot` modify labels: rollup
2025-05-15remove `RustfmtState` to reduce `initial_rustfmt` complexityonur-ozkan-50/+12
The current use of `RustfmtState` doesn't serve its main purpose as it never does the lazy evaulation since `Build::build` forces it to be ready on the early stage. If we want rustfmt to be ready on the early stage, we don't need to have `RustfmtState` complexity at all. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-15Auto merge of #141023 - jieyouxu:temp-windows-server-2022, r=marcoienibors-2/+8
Temporarily use Windows Server 2022 instead of Windows Server 2025 images Tracking issue: https://github.com/rust-lang/rust/issues/141022 At the moment, it seems like Windows Server 2025 20250504.1.0 is misconfigured, causing insufficient disk space failures. Temporarily go back to Windows Server 2022 in the hope that those are not also misconfigured to try to unblock the queue. r? `@marcoieni` (or infra-ci)
2025-05-15Temporarily use Windows Server 2022 instead of Windows Server 2025 imagesJieyou Xu-2/+8
At the moment, it seems like Windows Server 2025 20250504.1.0 is misconfigured causing insufficient disk space failures. Temporarily go back to Windows Server 2022 in the hope that those are not also misconfigured.
2025-05-14Use more subdiagnostics and reword the overloaded deref noteUrgau-42/+49
2025-05-14Improve `dangerous_implicit_aurorefs` diagnostic outputUrgau-31/+253
2025-05-14Rollup merge of #140989 - xizheyin:issue-139631, r=compiler-errorsMatthias Krüger-0/+79
Suggest replace f with f: Box<f> when expr field is short hand Fixes #139631 r? compiler
2025-05-14Rollup merge of #140988 - mathisbot:docfix_maybeuninit_write, r=tgross35Matthias Krüger-1/+1
MaybeUninit::write: fix doc # Fix doc for `MaybeUninit::write` The documentation refers to the way `MaybeUninit` stores data internally. The property of not dropping content on context exit is the responsibility of `ManuallyDrop`.
2025-05-14Rollup merge of #140976 - samueltardieu:diag-ipaddr-v4v6, r=UrgauMatthias Krüger-0/+4
Add `Ipv4Addr` and `Ipv6Addr` diagnostic items They will be used in Clippy to detect runtime parsing of known-valid IP addresses.
2025-05-14Rollup merge of #140973 - Berrysoft:update-bootstrap-lock, r=jieyouxuMatthias Krüger-2/+2
Update rustix to 1.0.7 for bootstrap Another bump for bootstrap. Finally it compiles on Cygwin:) Hooray! r? ``@jieyouxu``
2025-05-14Rollup merge of #140953 - jieyouxu:compiletest-bless-msg, r=compiler-errorsMatthias Krüger-8/+12
Fix a compiletest blessing message It was showing compare mode instead of test name. Fixes #140945. Noticed in https://github.com/rust-lang/rust/pull/140622#issuecomment-2868705612.
2025-05-14Rollup merge of #140904 - ehuss:future-incompat-template, r=Mark-SimulacrumMatthias Krüger-33/+57
Add an issue template for future-incompatible lints This adds a GitHub issue template for future-incompatible lints. Most of the existing tracking issues have been using different formats with different information, and I think it would be helpful to make them a little more consistent and to ensure that sufficient information is provided. Some comments on my choices: * Added a dedicated section to describe *why* the change is being made. Many existing issues already have this, so let's standardize on it. * Have a section with a very clear example. Almost all of the existing issues have this in one form or another. * Added a "Recommendations" section, since this is something I see missing in several of the existing issues, and this is really important information IMHO. * I reworded the "When" section. The existing template mentioned that these get reviewed every 6 weeks which my understanding is not true. That's also not very helpful information to the user, since it doesn't really answer the question. I'm not sure this section will actually be useful since I suspect most of the time we don't know when it will change (there have been a few exceptions). * Clearly show the expected progression steps. Several issues already have this. * Added implementation history, which is useful for linking PRs. (IDK, this could get merged with "Steps".)
2025-05-14Rollup merge of #140827 - compiler-errors:gather-locals-twice, r=oli-obkMatthias Krüger-2/+39
Do not ICE when reassigning in GatherLocalsVisitor on the bad path Fixes https://github.com/rust-lang/rust/issues/140785 Fixes https://github.com/rust-lang/rust/issues/140730 See comment in code. r? oli-obk
2025-05-14Fix settimes for vxworksB I Mohammed Abbas-2/+1
2025-05-14Fix set_name for vxworks. Length of name should be truncated to ↵B I Mohammed Abbas-10/+2
VX_TASK_RENAME_LENGTH-1
2025-05-14Add `Ipv4Addr` and `Ipv6Addr` diagnostic itemsSamuel Tardieu-0/+4
They will be used in Clippy to detect runtime parsing of known-valid IP addresses.
2025-05-14Suggest replace `f` with `f: Box<f>` when expr field is short handxizheyin-2/+23
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-05-14Add ui test suggest-box-for-expr-field-issue-139631xizheyin-0/+58
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-05-14MaybeUninit::write: fix docMathis Bottinelli-1/+1
2025-05-14Update rustix to 1.0.7 for bootstrap王宇逸-2/+2
2025-05-13Auto merge of #140921 - Berrysoft:update-rustc-lock, r=jieyouxubors-7/+7
Update `ctrlc`, `libloading` and `nix` for rustc The main purpose is to update `nix` to 0.30.1. It adds support for cygwin.
2025-05-13Auto merge of #140887 - pietroalbini:pa-bootstrap-update, r=compiler-errorsbors-1016/+780
Stage0 bootstrap update This PR [follows the release process](https://forge.rust-lang.org/release/process.html#master-bootstrap-update-tuesday) to update the stage0 compiler. The only thing of note is https://github.com/rust-lang/rust/commit/58651d1b316e268fac2100c3ae37bb502a36b8ba, which was flagged by clippy as a correctness fix. I think allowing that lint in our case makes sense, but it's worth to have a second pair of eyes on it. r? `@Mark-Simulacrum`
2025-05-13Format and skip formatting for pinMichael Goulet-2/+3
2025-05-13bump compiler_builtinsPietro Albini-4/+4
2025-05-13Expect deep norm to fail if query norm failedMichael Goulet-12/+18
2025-05-13Auto merge of #140951 - compiler-errors:super-fmt, r=ytmimibors-0/+5
Do not remove `super` keyword from `super let` This is affecting a macro in the standard library: https://github.com/rust-lang/rust/blob/bc7512ee6309ee7e8cacf87b94aa6d1f550c9d99/library/core/src/pin.rs#L1945 I added an exception in 6f6a9a585891d0a2d1114a7a621f35f28f39c0d9, but I'd like to remove it eventually, so opening this in-tree to not block this on the next rustfmt sync. r? `@calebcartwright` or `@ytmimi`
2025-05-13Auto merge of #140935 - omahs:patch-5, r=jieyouxubors-23/+23
Fix typos Fix typos
2025-05-13Auto merge of #140927 - mejrs:test5, r=jieyouxubors-36/+36
chore: move more ui tests r? `@jieyouxu`
2025-05-12Flush errors before deep normalize in dropck_outlivesMichael Goulet-0/+115
2025-05-12Auto merge of #140909 - fmease:modern-notif-backport-rustdoc, r=apirainobors-4/+4
Use new form for T-rustdoc's {beta,stable}-{nominated,accepted} notify-Zulip triggers Applies [#t-rustdoc > PSA: New actions on backport notifs @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/PSA.3A.20New.20actions.20on.20backport.20notifs/near/514823133). Complements #140397. r? `@apiraino` or T-triagebot
2025-05-12Auto merge of #140914 - Zalathar:asm-bindings, r=compiler-errorsbors-109/+89
cg_llvm: Clean up some inline assembly bindings This PR combines a few loosely-related cleanups to LLVM bindings related to inline assembly. These include: - Replacing `LLVMRustInlineAsm` with LLVM-C's `LLVMGetInlineAsm` - Adjusting FFI declarations to avoid the need for explicit `as_c_char_ptr` conversions - Flattening control flow in `inline_asm_call` There should be no functional changes.
2025-05-12Fix typosomahs-23/+23
2025-05-12compiletest: fix "blessing" messageJieyou Xu-8/+12
It was showing compare mode instead of test name.
2025-05-12Do not remove super keyword from super-letMichael Goulet-0/+5
2025-05-12Move more tests/ui testsmejrs-36/+36
2025-05-12Auto merge of #140941 - ferrocene:ja/gh140939-fix-async-drop-test, ↵bors-1/+4
r=petrochenkov ui/async-drop-initial: factor in panic strategy in destructor size check the size of `AsyncStruct`'s destructor depends on whether the configured panic strategy is 'unwind' or 'abort' so factor that into the test using conditional compilation fixes rust-lang/rust#140939 fixes rust-lang/rust#140493