about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-08-04remove gatesKivooeo-4/+2
2025-08-03Fix simd_funnel_shiftAntoni Boucher-16/+19
2025-08-03Auto merge of #144869 - samueltardieu:rollup-3ba3m47, r=samueltardieubors-556/+533
Rollup of 12 pull requests Successful merges: - rust-lang/rust#142678 (Misc cleanups of `generic_arg_infer` related HIR logic) - rust-lang/rust#144070 (Implement `hash_map` macro ) - rust-lang/rust#144738 (Remove the omit_gdb_pretty_printer_section attribute) - rust-lang/rust#144790 (Multiple bounds checking elision failures) - rust-lang/rust#144805 (compiletest: Preliminary cleanup of `ProcRes` printing/unwinding) - rust-lang/rust#144808 (`Interner` arg to `EarlyBinder` does not affect auto traits) - rust-lang/rust#144816 (Update E0562 to account for the new impl trait positions) - rust-lang/rust#144822 (Return a struct with named fields from `hash_owner_nodes`) - rust-lang/rust#144824 (Updated test links in compiler) - rust-lang/rust#144829 (Use full flag name in strip command for Darwin) - rust-lang/rust#144843 (Weekly `cargo update`) - rust-lang/rust#144851 (Forbid tail calling intrinsics) r? `@ghost` `@rustbot` modify labels: rollup
2025-08-03Rollup merge of #144851 - WaffleLapkin:instrinsic-deny, ↵Samuel Tardieu-3/+44
r=compiler-errors,scottmcm Forbid tail calling intrinsics There is only one intrinsic that can be called on stable, as far as I can find, (`transmute`). And in general tail calling intrinsics doesn't make much sense. Alternative to rust-lang/rust#144815 (and thus closes rust-lang/rust#144815) Fixes https://github.com/rust-lang/rust/issues/144806 r? ``@scottmcm``
2025-08-03Rollup merge of #144843 - rust-lang:cargo_update, r=clubby789Samuel Tardieu-58/+59
Weekly `cargo update` Automation to keep dependencies in `Cargo.lock` current. r? dep-bumps The following is the output from `cargo update`: ```txt compiler & tools dependencies: Locking 14 packages to latest compatible versions Updating clap v4.5.41 -> v4.5.42 Updating clap_builder v4.5.41 -> v4.5.42 Updating jsonpath-rust v1.0.3 -> v1.0.4 Updating libredox v0.1.6 -> v0.1.9 Updating object v0.37.1 -> v0.37.2 Updating redox_syscall v0.5.16 -> v0.5.17 Updating redox_users v0.5.0 -> v0.5.2 Updating rustc-demangle v0.1.25 -> v0.1.26 Updating serde_json v1.0.141 -> v1.0.142 Updating wasm-encoder v0.235.0 -> v0.236.0 Updating wasmparser v0.235.0 -> v0.236.0 Updating wast v235.0.0 -> v236.0.0 Updating wat v1.235.0 -> v1.236.0 Updating windows-targets v0.53.2 -> v0.53.3 note: pass `--verbose` to see 36 unchanged dependencies behind latest library dependencies: Locking 3 packages to latest compatible versions Updating object v0.37.1 -> v0.37.2 Updating rustc-demangle v0.1.25 -> v0.1.26 Updating unwinding v0.2.7 -> v0.2.8 note: pass `--verbose` to see 2 unchanged dependencies behind latest rustbook dependencies: Locking 6 packages to latest compatible versions Updating cc v1.2.30 -> v1.2.31 Updating clap v4.5.41 -> v4.5.42 Updating clap_builder v4.5.41 -> v4.5.42 Updating redox_syscall v0.5.16 -> v0.5.17 Updating serde_json v1.0.141 -> v1.0.142 Updating windows-targets v0.53.2 -> v0.53.3 ```
2025-08-03Rollup merge of #144829 - Kivooeo:strip-flag, r=WaffleLapkinSamuel Tardieu-2/+3
Use full flag name in strip command for Darwin Darwin always uses `rust-objcopy` which supports long-form flags Solaris unchanged due to not having support for `--discard-all` and only `-x` fixes https://github.com/rust-lang/rust/issues/135038 r? ````@WaffleLapkin```` (since bot will ping you anyway, feel free to reroll)
2025-08-03Rollup merge of #144824 - Kivooeo:update-links, r=NoratriebSamuel Tardieu-2/+2
Updated test links in compiler Updated test links since a bunch of tests got moved around from the top level recently r? compiler
2025-08-03Rollup merge of #144822 - Zalathar:hash-owner-nodes, r=compiler-errorsSamuel Tardieu-28/+44
Return a struct with named fields from `hash_owner_nodes` While looking through this code for other reasons, I noticed a nice opportunity to return a struct with named fields instead of a tuple. The first patch also introduces an early-return to flatten the rest of `hash_owner_nodes`. There are further changes that could potentially be made here (renaming things, `Option<Hashes>` instead of optional fields), but I'm not deeply familiar with this code so I didn't want to disturb the calling code too much.
2025-08-03Rollup merge of #144816 - Noratrieb:e0562-impl-trait, r=WaffleLapkinSamuel Tardieu-5/+4
Update E0562 to account for the new impl trait positions fixes rust-lang/rust#142683
2025-08-03Rollup merge of #144808 - Veykril:push-uttkuyswqnzt, r=compiler-errorsSamuel Tardieu-1/+1
`Interner` arg to `EarlyBinder` does not affect auto traits Conceptually `EarlyBinder` does not contain an `Interner` so it shouldn't tell Rust it does via `PhantomData`. This is necessary for rust-analyzer as it stores `EarlyBinder`s in query results which require `Sync`, placing restrictions on our interner setup. r? compiler-errors
2025-08-03Rollup merge of #144805 - Zalathar:proc-res, r=jieyouxuSamuel Tardieu-45/+56
compiletest: Preliminary cleanup of `ProcRes` printing/unwinding While experimenting with changes to how compiletest handles output capture, error reporting, and unwinding, I repeatedly ran in to difficulties with this core code for reporting test failures caused by a subprocess. There should be no change in compiletest output. r? jieyouxu
2025-08-03Rollup merge of #144790 - lucarlig:pr-bounds-elision, r=compiler-errorsSamuel Tardieu-0/+19
Multiple bounds checking elision failures regression test for rust-lang/rust#120433
2025-08-03Rollup merge of #144738 - bjorn3:remove_omit_gdb_pretty_printer_section, ↵Samuel Tardieu-387/+209
r=jieyouxu Remove the omit_gdb_pretty_printer_section attribute Disabling loading of pretty printers in the debugger itself is more reliable. Before this commit the .gdb_debug_scripts section couldn't be included in dylibs or rlibs as otherwise there is no way to disable the section anymore without recompiling the entire standard library.
2025-08-03Rollup merge of #144070 - stifskere:feat/macros/hash_map, r=NoratriebSamuel Tardieu-0/+76
Implement `hash_map` macro Implementation of https://github.com/rust-lang/rust/issues/144032 Implements the `hash_map` macro under `std/src/macros.rs`.
2025-08-03Rollup merge of #142678 - BoxyUwU:gai_cleanup, r=nnethercoteSamuel Tardieu-25/+16
Misc cleanups of `generic_arg_infer` related HIR logic r? ````@nnethercote````
2025-08-03Remove `SHOULD_EMIT_LINTS` in favor of `should_emit`Jonathan Brouwer-4/+11
2025-08-03Use `as_array` in PartialEq for arraysScott McMurray-16/+12
2025-08-03forbid tail calling intrinsicsWaffle Lapkin-3/+44
2025-08-03Use codegen_fn_attrs to check if function is naked.Camille GILLOT-3/+3
2025-08-03remove rust_ prefixesKivooeo-17/+17
2025-08-04Add assignment type analysis for ide-completionA4-Tacks-0/+82
2025-08-03removed gateKivooeo-3/+1
2025-08-03Only use bitcast in Builder::ret for non-native integersAntoni Boucher-3/+9
2025-08-03don't allocate a `Vec` in an `Iterator::chain` (#15400)llogiq-1/+1
changelog: none
2025-08-03clean-up `SourceFileRange::as_str` (#15401)llogiq-5/+2
changelog: none
2025-08-04fix: Error on illegal `[const]`s inside blocks within legal positionsShoyu Vanilla-42/+140
2025-08-03Fix intcast to use the is_signed parameterAntoni Boucher-3/+11
2025-08-03Auto merge of #144732 - lcnr:ignore-shadowed-impls, r=compiler-errorsbors-3/+105
dont assemble shadowed impl candidates Fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/109. I've originally intended to fix this by supporting lazy reevaluation when rerunning cycles. This ended up being really difficult, see https://github.com/lcnr/search_graph for my notes used while working on this. It is also insufficient for the `rayon-hang-2.rs` test as we end up with goals which we need to rerun for all combinations of provisional results. While landing such an optimization in the future may still be desirable, it is very difficult and insufficient to fix these hangs. Also see the relevant [zulip thread](https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/rustc-rayon.20hang/near/527850058). I was previously opposed to avoiding assembling shadowed impls as it may prevent future improvements in this area, cc rust-lang/rust#141226. Going to track this and the reasoning behind it in https://github.com/rust-lang/trait-system-refactor-initiative/issues/226. r? `@BoxyUwU` `@compiler-errors`
2025-08-03use `?` for brevityAda Alakbarova-1/+1
2025-08-03use parens for clearer formattingAda Alakbarova-4/+1
the first and second lines now each represent one approach to getting a `source`
2025-08-03don't allocate a `Vec` in an `Iterator::chain`Ada Alakbarova-1/+1
2025-08-03rename rust_panic_without_hookKivooeo-2/+2
2025-08-03Apply suggestions from code reviewRunDevelopment-64/+47
2025-08-03Add test to ensure that suggestions are only emitted if MSRV supports itRunDevelopment-1/+26
2025-08-03Add suggestion to `cast_sign_loss` and `cast_possible_wrap` using the ↵RunDevelopment-48/+131
`cast_{un,}signed()` methods
2025-08-03Merge pull request #20372 from Hmikihiro/remove_unused_fn_from_edit_in_placeLukas Wirth-161/+2
Remove unused functions from edit_in_place.rs
2025-08-03Merge pull request #1889 from rust-lang/rustc-pullFolkert de Vries-14888/+25303
Rustc pull update
2025-08-03Remove unused functions from edit_in_placeHmikihiro-161/+2
2025-08-03Merge pull request #1892 from ↵Folkert de Vries-6/+13
madhav-madhusoodanan/intrinsic-test-constraint-update `Intrinsic-test`: Updated the Constraint enum to support discrete values
2025-08-03feat: Added another variant of the Constraint enumMadhav Madhusoodanan-6/+13
2025-08-03Remove unused arg from `path_append_impl`.Nicholas Nethercote-13/+1
None of the impls use it.
2025-08-03Remove `p!`.Nicholas Nethercote-362/+370
It's a cryptic macro that makes some things slightly more concise in `PrettyPrinter`. E.g. if you declare `define_scope_printer!(p)` in a scope you can then call `p! to get these transformations: ``` p!("foo"); --> write!(p, "foo")?; p!(print(ty)); --> ty.print(p)?; p!(method(args)); --> p.method(args)?; ``` You can also chain calls, e.g.: ``` p!("foo", print(ty)); --> write!(p, "foo")?; ty.print(p)?; ``` Ultimately this doesn't seem worth it. The macro definition is hard to read, the call sites are hard to read, `define_scope_printer!` is pretty gross, and the code size reductions are small. Tellingly, many normal `write!` and `print` calls are sprinkled throughout the code, probably because people have made modifications and didn't want to use or understand how to use `p!`. This commit removes it.
2025-08-03Simplify `SymbolMangler::print_type`.Nicholas Nethercote-7/+4
`Bound`/`Placeholder`/`Infer`/`Error` shouldn't occur, so we can handle them in the second exhaustive `match`, and ignore them in the first non-exhaustive `match`.
2025-08-03Rename `Printer` variables.Nicholas Nethercote-281/+279
Currently they are mostly named `cx`, which is a terrible name for a type that impls `Printer`/`PrettyPrinter`, and is easy to confuse with other types like `TyCtxt`. This commit changes them to `p`. A couple of existing `p` variables had to be renamed to make way.
2025-08-03Remove `type_name::AbsolutePathPrinter::comma_sep`.Nicholas Nethercote-14/+3
It's equivalent to the default `PrettyPrinter::comma_sep`.
2025-08-03Inline and remove two `FmtPrinter` methods.Nicholas Nethercote-34/+12
They each have a single call site.
2025-08-03Mark `Printer` methods as unreachable where appropriate.Nicholas Nethercote-14/+17
This helps me understand the structure of the code a lot. If any of these are actually reachable, we can put the old code back, add a new test case, and we will have improved our test coverage.
2025-08-03Merge pull request #2532 from rust-lang/tshepang/date-checknora-1/+1
there is still no official policy regarding new rustc crate deps
2025-08-03Auto merge of #144704 - compiler-errors:explode-wf, r=lcnrbors-35/+30
expand WF obligations when checking method calls Don't wrap a bunch of signatures in `FnPtr` then check their WF; instead, check the WFness of each input/output separately. This is useful for the new trait solver, since because we stall on root obligations we end up needing to repeatedly recompute the WFness of possibly very large function signature types if it ends up bottoming out in ambiguity. This may also give us more chances to hit the WF fast path for certain types like built-ins. Finally, this just seems conceptually correct to do. There's nothing conceptually that suggests that wrapping the function signature in an fn pointer makes sense at all to do; I'm guessing that it was just convenient so that we didn't have to register WF obligations in a loop, but it doesn't affect the readability of this code at all.
2025-08-03For "stage 1" ui-fulldeps, use the stage 1 compiler to query target infoZalathar-10/+40
Testing ui-fulldeps in "stage 1" actually uses the stage 0 compiler, so that test programs can link against stage 1 rustc crates. Unfortunately, using the stage 0 compiler causes problems when compiletest tries to obtain target information from the compiler, but the output format has changed since the last bootstrap beta bump. We can work around this by also providing compiletest with a stage 1 compiler, and having it use that compiler to query for target information.