about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-09-18deref related cleanups in ref_propbeepster4096-20/+13
2025-09-18Plumb Allocator generic into `std::vec::PeekMut`Sidney Cammeresi-44/+51
2025-09-18Auto merge of #137122 - yotamofek:pr/std/iter-eq-exact-size, r=the8472bors-4/+48
Specialize `Iterator::eq{_by}` for `TrustedLen` iterators I'm sure I got some stuff wrong here, but opening this to get feedback and make sure it's a viable idea at all. ### Motivation I had a piece of code that open-coded `Iterator::eq`, something like: ```rust if current.len() != other.len() || current.iter().zip(other.iter()).any(|(a, b)| a != b) { ... } ``` ... where both `current` and `other` are slices of the same type. Changing the code to use `current.iter().eq(other)` made it a lot slower, since it wasn't checking the length of the two slices beforehand anymore, which in this instance made a big difference in perf. So I thought I'd see if I can improve `Iterator::eq`. ### Questions 1. I can't specialize for `ExactSizeIterator`, I think it's a limitation of `min_specialization` but not sure exactly why. Is specializing for `TrustedLen` good enough? 2. Should I make a codegen test for this? If so, then how? (I manually checked the assembly to make sure it works as expected) 3. Where should I put `SpecIterCompare`? 4. Can I get a perf run for this, please? I think the compiler uses this in a few places, so it might have an affect.
2025-09-18fix negative const generic integer literalsOblarg-1/+24
2025-09-18canonical: yeet `EvalCtxt`, mk `Canonicalizer` privatelcnr-211/+233
2025-09-18move `mod canonical` out of `eval_ctxt`lcnr-231/+229
2025-09-18update lockfileRalf Jung-15/+22
2025-09-18Merge pull request #4592 from RalfJung/sqrtRalf Jung-38/+54
implement sqrt for f16 and f128
2025-09-18Merge pull request #2587 from GuillaumeGomez/gcc-backend-missing-docsGuillaume Gomez-2/+55
Add missing documentation for running tests with GCC backend
2025-09-18fix tidy spellchecking on windowsbeepster4096-1/+1
2025-09-18share sqrt implemention across float typesRalf Jung-39/+25
2025-09-18Auto merge of #146728 - flip1995:clippy-subtree-update, r=samueltardieubors-2479/+4380
Clippy subtree update r? `@Manishearth` `Cargo.lock` update due to release/Clippy version bump.
2025-09-18implement sqrt for f16 and f128Ralf Jung-15/+45
2025-09-18Specialize `Iterator::eq[_by]` for `TrustedLen` iteratorsYotam Ofek-4/+48
2025-09-18Merge pull request #4583 from Patrick-6/miri-genmc-estimationRalf Jung-170/+395
Add GenMC estimation mode.
2025-09-18Merge pull request #20695 from ShoyuVanilla/fix-another-in-treeShoyu Vanilla (Flint)-1/+1
fix: Fix one more thing in `in-rust-tree`
2025-09-19fix: Fix one more thing in `in-rust-tree`Shoyu Vanilla-1/+1
2025-09-18tweak genmc error report noteRalf Jung-14/+23
2025-09-18Merge pull request #20694 from ShoyuVanilla/bump-rustcLaurențiu Nicola-49/+62
minor: Yet another rustc crates bump
2025-09-19minor: Yet another rustc crates bumpShoyu Vanilla-49/+62
2025-09-18Merge pull request #20693 from ShoyuVanilla/fix-indexmap-in-treeLaurențiu Nicola-6/+1
fix: Fix `indexmap` with `in-rust-tree`
2025-09-19fix: Fix `indexmap` with `in-rust-tree`Shoyu Vanilla-6/+1
2025-09-18Auto merge of #146727 - matthiaskrgr:rollup-98812uj, r=matthiaskrgrbors-128/+892
Rollup of 6 pull requests Successful merges: - rust-lang/rust#146434 (c-variadic: allow c-variadic inherent and trait methods) - rust-lang/rust#146487 (Improve `core::num` coverage) - rust-lang/rust#146597 (Add span for struct tail recursion limit error) - rust-lang/rust#146622 (Add regression test for issue rust-lang/rust#91831) - rust-lang/rust#146717 (Clean up universe evaluation during type test evaluation) - rust-lang/rust#146723 (Include patch in release notes) r? `@ghost` `@rustbot` modify labels: rollup
2025-09-18Allow windows resource compiler to be overriddenErick Tryzelaar-2/+22
It is now required to provide a resource compiler on windows when compiling rust. This allows toolchain builders to explicitly provide a path to an alternative, such as llvm-rc, instead of the one that's provided by the Windows SDK.
2025-09-18Merge pull request #20691 from lnicola/bump-rustc-againShoyu Vanilla (Flint)-57/+50
minor: Bump rustc crates again
2025-09-18Bump rustc crates againLaurențiu Nicola-57/+50
2025-09-18Update Cargo.lockPhilipp Krones-5/+5
2025-09-18Merge commit '20ce69b9a63bcd2756cd906fe0964d1e901e042a' into ↵Philipp Krones-2474/+4375
clippy-subtree-update
2025-09-18Rollup merge of #146723 - Mark-Simulacrum:relnotes-fix, r=KobzolMatthias Krüger-2/+2
Include patch in release notes This should fix triagebot publication of the GitHub release on merge.
2025-09-18Rollup merge of #146717 - amandasystems:remove-placeholder-hack, r=lcnrMatthias Krüger-12/+18
Clean up universe evaluation during type test evaluation The logic was, as the removed comments suggest, hackish and meant to implement previous logic that was factored out. The new logic does exactly what the comments say, and is much less surprising. I'm afraid we may want r? `@lcnr` for this one too. I am sorry, but at least it should be easier to review.
2025-09-18Rollup merge of #146622 - aklaiber:91831_add_regression_test, r=jdonszelmannMatthias Krüger-0/+33
Add regression test for issue #91831 The requested test for rust-lang/rust#91831. I'm unsure about the filename, the file structure in `tests/ui/lifetimes/lifetime-errors/` isn't entirely clear to me. Any suggestions? Closes rust-lang/rust#91831
2025-09-18Rollup merge of #146597 - modhanami:add-struct-tail-recursion-limit-span, ↵Matthias Krüger-65/+111
r=oli-obk Add span for struct tail recursion limit error Fixes rust-lang/rust#135629 Changes 1. Add span to RecursionLimitReached 2. Add ObligationCause parameter to struct_tail_raw 4. Update call sites to pass nearby ObligationCause or create one 5. Update affected .stderr
2025-09-18Rollup merge of #146487 - ferrocene:pvdrz/improve-num-coverage, r=joboetMatthias Krüger-0/+7
Improve `core::num` coverage This PR improves the `core::num` coverage by adding a new test to `coretests`. r? libs
2025-09-18Rollup merge of #146434 - folkertdev:c-variadic-inherent-methods, ↵Matthias Krüger-49/+721
r=workingjubilee c-variadic: allow c-variadic inherent and trait methods tracking issue: https://github.com/rust-lang/rust/issues/44930 Continuing the work of https://github.com/rust-lang/rust/pull/146342, allow inherent and trait methods to be c-variadic. However, a trait that contains a c-variadic method is no longer dyn-compatible. There is, presumably, some way to make c-variadic methods dyn-compatible. However currently, we don't have confidence that it'll work reliably: when methods from a `dyn` object are cast to a function pointer, a `ReifyShim` is created. If that shim is c-variadic, it would need to forward the C variable argument list. That does appear to work, because the `va_list` is not represented in MIR at all in this case, so the registers from the call site are untouched by the shim and can be read by the actual implementation. That just does not seem like a solid implementation. Also, intuitively, why would c-variadic function, primarily needed for FFI, need to be used with `dyn` objects at all? We can revisit this limitation if a need arises. r? `@workingjubilee`
2025-09-18Rustup (#15704)Philipp Krones-111/+117
r? @ghost changelog: none
2025-09-18Bump Clippy version -> 0.1.92Philipp Krones-5/+5
2025-09-18Bump nightly version -> 2025-09-18Philipp Krones-2/+2
2025-09-18Merge remote-tracking branch 'upstream/master' into rustupPhilipp Krones-2469/+4339
2025-09-18`redundant_clone`: split iterator checks into `redundant_iter_cloned` (#15277)Alejandra González-17/+44
Needed to split the lints crate. changelog: split `redundant_clone` iterator checks into `redundant_iter_cloned` <!-- TRIAGEBOT_START --> <!-- TRIAGEBOT_SUMMARY_START --> ### Summary Notes - [Feature-freeze](https://github.com/rust-lang/rust-clippy/pull/15277#issuecomment-3073454006) by [github-actions[bot]](https://github.com/github-actions[bot]) *Managed by `@rustbot`—see [help](https://forge.rust-lang.org/triagebot/note.html) for details* <!-- TRIAGEBOT_SUMMARY_END --> <!-- TRIAGEBOT_END -->
2025-09-18Merge pull request #20690 from ShoyuVanilla/update-rustcLaurențiu Nicola-30/+44
minor: Update rustc deps
2025-09-18chore: Update rustc depsShoyu Vanilla-30/+44
2025-09-18Auto merge of #145993 - lcnr:allow-calling-opaques, r=BoxyUwUbors-162/+965
`-Znext-solver` allow `ExprKind::Call` for not-yet defined opaques Based on https://github.com/rust-lang/rust/pull/146329. Revival of rust-lang/rust#140496. See the comment on `OpaqueTypesJank`. I've used the following document while working on this https://hackmd.io/Js61f8PRTcyaiyqS-fH9iQ. Fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/181. It does introduce one subtle footgun we may want to handle before stabilization, opened https://github.com/rust-lang/trait-system-refactor-initiative/issues/230 for that. Also cc https://github.com/rust-lang/trait-system-refactor-initiative/issues/231 for deref and index operations r? `@BoxyUwU`
2025-09-18Include patch in release notesMark Rousskov-2/+2
This should fix triagebot publication of the GitHub release on merge.
2025-09-18Enforce E0719 only for trait aliasesJules Bertholet-1094/+650
2025-09-18Do not replace `.unwrap_or(vec![])` by `.unwrap_or_default()` (#15699)Jason Newcomb-47/+86
`.unwrap_or(vec![])` is as readable as `.unwrap_or_default()`. Also, this ensures by adding tests that expressions such as `.unwrap_or(DEFAULT_LITERAL)` (`0`, `""`, etc.) are not replaced by `.unwrap_or_default()` either. Related to the discussion in the [Zulip discussion](https://rust-lang.zulipchat.com/#narrow/channel/257328-clippy/topic/FCP.20concealed_obvious_default) about PR rust-lang/rust-clippy#15037. changelog: [`unwrap_or_default`]: do not replace `.unwrap_or(vec![])` by `.unwrap_or_default()`
2025-09-18Clean up universe evaluation during type test evaluationAmanda Stjerna-12/+18
The logic was, as the removed comments suggest, hackish and meant to implement previous logic that was factored out. The new logic does exactly what the comments say, and is much less surprising.
2025-09-18Fix applicable after l_curly for replace_is_method_with_if_let_methodA4-Tacks-0/+18
2025-09-18internal constraints are better than placeholder outliveslcnr-3/+84
2025-09-18Add regression test for issue 91831aklaiber-0/+33
2025-09-18add tests, silence type annotations needed errors for opaqueslcnr-38/+231