about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-09-28cargo update cargo_updategithub-actions-530/+529
compiler & tools dependencies: Locking 93 packages to latest compatible versions Updating addr2line v0.24.2 -> v0.25.1 Removing android-tzdata v0.1.1 Updating anyhow v1.0.99 -> v1.0.100 Updating backtrace v0.3.75 -> v0.3.76 Updating bitflags v2.9.3 -> v2.9.4 Updating camino v1.1.11 -> v1.2.0 Updating cfg-if v1.0.1 -> v1.0.3 Updating chrono v0.4.41 -> v0.4.42 Updating clap v4.5.45 -> v4.5.48 Updating clap_builder v4.5.44 -> v4.5.48 Updating clap_derive v4.5.45 -> v4.5.47 Updating ctrlc v3.4.7 -> v3.5.0 Updating cxx v1.0.185 -> v1.0.186 Updating cxx-build v1.0.185 -> v1.0.186 Updating cxxbridge-cmd v1.0.185 -> v1.0.186 Updating cxxbridge-flags v1.0.185 -> v1.0.186 Updating cxxbridge-macro v1.0.185 -> v1.0.186 Updating dbus v0.9.7 -> v0.9.9 Adding dispatch v0.2.0 Updating dyn-clone v1.0.19 -> v1.0.20 Updating erased-serde v0.4.6 -> v0.4.8 Updating errno v0.3.13 -> v0.3.14 Updating filetime v0.2.25 -> v0.2.26 Updating form_urlencoded v1.2.1 -> v1.2.2 Updating gimli v0.32.0 -> v0.32.3 Adding hashbrown v0.16.0 Updating humantime v2.2.0 -> v2.3.0 Updating iana-time-zone v0.1.63 -> v0.1.64 Updating idna v1.0.3 -> v1.1.0 Updating indexmap v2.10.0 -> v2.11.4 Updating ipc-channel v0.20.1 -> v0.20.2 Updating jobserver v0.1.33 -> v0.1.34 Updating js-sys v0.3.77 -> v0.3.81 Updating libdbus-sys v0.2.5 -> v0.2.6 Updating libffi v4.1.1 -> v4.1.2 Updating libffi-sys v3.3.2 -> v3.3.3 Updating libloading v0.8.8 -> v0.8.9 Updating libredox v0.1.9 -> v0.1.10 Updating linux-raw-sys v0.9.4 -> v0.11.0 Updating log v0.4.27 -> v0.4.28 Updating matchers v0.1.0 -> v0.2.0 Updating memchr v2.7.5 -> v2.7.6 Updating normpath v1.3.0 -> v1.5.0 Removing nu-ansi-term v0.46.0 Removing overload v0.1.1 Updating percent-encoding v2.3.1 -> v2.3.2 Updating pest v2.8.1 -> v2.8.2 Updating pest_derive v2.8.1 -> v2.8.2 Updating pest_generator v2.8.1 -> v2.8.2 Updating pest_meta v2.8.1 -> v2.8.2 Updating potential_utf v0.1.2 -> v0.1.3 Updating regex v1.11.1 -> v1.11.3 Removing regex-automata v0.1.10 Removing regex-automata v0.4.9 Adding regex-automata v0.4.11 Updating regex-lite v0.1.6 -> v0.1.7 Removing regex-syntax v0.6.29 Removing regex-syntax v0.8.5 Adding regex-syntax v0.8.6 Updating rustix v1.0.8 -> v1.1.2 Updating schannel v0.1.27 -> v0.1.28 Updating semver v1.0.26 -> v1.0.27 Updating serde v1.0.219 -> v1.0.228 Updating serde-untagged v0.1.8 -> v0.1.9 Adding serde_core v1.0.228 Updating serde_derive v1.0.219 -> v1.0.228 Updating serde_json v1.0.142 -> v1.0.145 Updating serde_path_to_error v0.1.17 -> v0.1.20 Updating sysinfo v0.37.0 -> v0.37.1 Updating tempfile v3.20.0 -> v3.23.0 Updating thiserror v2.0.15 -> v2.0.16 Updating thiserror-impl v2.0.15 -> v2.0.16 Updating tinyvec v1.9.0 -> v1.10.0 Updating tracing-subscriber v0.3.18 -> v0.3.20 Updating twox-hash v2.1.1 -> v2.1.2 Updating unicode-ident v1.0.18 -> v1.0.19 Updating url v2.5.4 -> v2.5.7 Updating uuid v1.18.0 -> v1.18.1 Updating wasi v0.14.2+wasi-0.2.4 -> v0.14.7+wasi-0.2.4 Updating wasi-preview1-component-adapter-provider v36.0.1 -> v36.0.2 Adding wasip2 v1.0.1+wasi-0.2.4 Updating wasm-bindgen v0.2.100 -> v0.2.104 Updating wasm-bindgen-backend v0.2.100 -> v0.2.104 Updating wasm-bindgen-macro v0.2.100 -> v0.2.104 Updating wasm-bindgen-macro-support v0.2.100 -> v0.2.104 Updating wasm-bindgen-shared v0.2.100 -> v0.2.104 Updating winapi-util v0.1.9 -> v0.1.11 Removing windows v0.58.0 Updating windows-core v0.58.0 -> v0.62.1 Removing windows-implement v0.58.0 Removing windows-implement v0.60.0 Adding windows-implement v0.60.1 Removing windows-interface v0.58.0 Removing windows-interface v0.59.1 Adding windows-interface v0.59.2 Adding windows-link v0.2.0 Updating windows-result v0.2.0 -> v0.4.0 Updating windows-strings v0.1.0 -> v0.5.0 Adding windows-sys v0.61.1 Updating windows-targets v0.53.3 -> v0.53.4 Updating winnow v0.7.12 -> v0.7.13 Adding wit-bindgen v0.46.0 Removing wit-bindgen-rt v0.39.0 Updating xattr v1.5.1 -> v1.6.1 Updating zerocopy v0.8.26 -> v0.8.27 Updating zerocopy-derive v0.8.26 -> v0.8.27 note: pass `--verbose` to see 33 unchanged dependencies behind latest library dependencies: Locking 19 packages to latest compatible versions Updating addr2line v0.25.0 -> v0.25.1 Updating cfg-if v1.0.1 -> v1.0.3 Updating dlmalloc v0.2.10 -> v0.2.11 Updating gimli v0.32.0 -> v0.32.3 Updating libc v0.2.175 -> v0.2.176 Updating memchr v2.7.5 -> v2.7.6 Updating vex-sdk v0.27.0 -> v0.27.1 Adding windows-link v0.2.0 Updating windows-sys v0.59.0 -> v0.60.2 Updating windows-targets v0.52.6 -> v0.53.4 Updating windows_aarch64_gnullvm v0.52.6 -> v0.53.0 Updating windows_aarch64_msvc v0.52.6 -> v0.53.0 Updating windows_i686_gnu v0.52.6 -> v0.53.0 Updating windows_i686_gnullvm v0.52.6 -> v0.53.0 Updating windows_i686_msvc v0.52.6 -> v0.53.0 Updating windows_x86_64_gnu v0.52.6 -> v0.53.0 Updating windows_x86_64_gnullvm v0.52.6 -> v0.53.0 Updating windows_x86_64_msvc v0.52.6 -> v0.53.0 Updating wit-bindgen v0.45.0 -> v0.45.1 note: pass `--verbose` to see 4 unchanged dependencies behind latest rustbook dependencies: Locking 63 packages to latest compatible versions Updating ammonia v4.1.1 -> v4.1.2 Removing android-tzdata v0.1.1 Updating anyhow v1.0.99 -> v1.0.100 Removing bitflags v1.3.2 Removing bitflags v2.9.2 Adding bitflags v2.9.4 Updating cc v1.2.33 -> v1.2.39 Updating cfg-if v1.0.1 -> v1.0.3 Updating chrono v0.4.41 -> v0.4.42 Updating clap v4.5.45 -> v4.5.48 Updating clap_builder v4.5.44 -> v4.5.48 Updating clap_complete v4.5.57 -> v4.5.58 Updating clap_derive v4.5.45 -> v4.5.47 Updating errno v0.3.13 -> v0.3.14 Adding find-msvc-tools v0.1.2 Updating form_urlencoded v1.2.1 -> v1.2.2 Updating getopts v0.2.23 -> v0.2.24 Updating hashbrown v0.15.5 -> v0.16.0 Updating iana-time-zone v0.1.63 -> v0.1.64 Updating idna v1.0.3 -> v1.1.0 Updating indexmap v2.10.0 -> v2.11.4 Updating js-sys v0.3.77 -> v0.3.81 Updating linux-raw-sys v0.9.4 -> v0.11.0 Updating log v0.4.27 -> v0.4.28 Updating memchr v2.7.5 -> v2.7.6 Updating normpath v1.3.0 -> v1.5.0 Updating opener v0.8.2 -> v0.8.3 Updating percent-encoding v2.3.1 -> v2.3.2 Updating pest v2.8.1 -> v2.8.2 Updating pest_derive v2.8.1 -> v2.8.2 Updating pest_generator v2.8.1 -> v2.8.2 Updating pest_meta v2.8.1 -> v2.8.2 Updating potential_utf v0.1.2 -> v0.1.3 Updating regex v1.11.1 -> v1.11.3 Updating regex-automata v0.4.9 -> v0.4.11 Updating regex-syntax v0.8.5 -> v0.8.6 Updating rustix v1.0.8 -> v1.1.2 Updating semver v1.0.26 -> v1.0.27 Updating serde v1.0.219 -> v1.0.228 Adding serde_core v1.0.228 Updating serde_derive v1.0.219 -> v1.0.228 Updating serde_json v1.0.142 -> v1.0.145 Updating syntect v5.2.0 -> v5.3.0 Updating tempfile v3.20.0 -> v3.23.0 Updating thiserror v2.0.15 -> v2.0.16 Updating thiserror-impl v2.0.15 -> v2.0.16 Updating unicode-ident v1.0.18 -> v1.0.19 Updating url v2.5.4 -> v2.5.7 Updating wasi v0.14.2+wasi-0.2.4 -> v0.14.7+wasi-0.2.4 Adding wasip2 v1.0.1+wasi-0.2.4 Updating wasm-bindgen v0.2.100 -> v0.2.104 Updating wasm-bindgen-backend v0.2.100 -> v0.2.104 Updating wasm-bindgen-macro v0.2.100 -> v0.2.104 Updating wasm-bindgen-macro-support v0.2.100 -> v0.2.104 Updating wasm-bindgen-shared v0.2.100 -> v0.2.104 Updating winapi-util v0.1.9 -> v0.1.11 Updating windows-core v0.61.2 -> v0.62.1 Updating windows-implement v0.60.0 -> v0.60.1 Updating windows-interface v0.59.1 -> v0.59.2 Updating windows-link v0.1.3 -> v0.2.0 Updating windows-result v0.3.4 -> v0.4.0 Updating windows-strings v0.4.2 -> v0.5.0 Updating windows-sys v0.59.0 -> v0.61.1 Updating windows-targets v0.53.3 -> v0.53.4 Updating winnow v0.7.12 -> v0.7.13 Adding wit-bindgen v0.46.0 Removing wit-bindgen-rt v0.39.0 note: pass `--verbose` to see 1 unchanged dependencies behind latest
2025-09-27Auto merge of #146927 - Kobzol:install-clif, r=jieyouxubors-52/+63
Make it possible to `x install` Cranelift and LLVM bitcode linker It was not possible to install these before, as they were not in the install step description list. Fixes: https://github.com/rust-lang/rust/issues/140331 r? `@jieyouxu`
2025-09-27Auto merge of #138907 - GuillaumeGomez:rfc-3631, ↵bors-371/+1046
r=fmease,camelid,Manishearth,lolbinarycat Implement RFC 3631: add rustdoc doc_cfg features Implementation of https://github.com/rust-lang/rfcs/pull/3631. This implementation actually resulted in a lot of simplifications: * All `cfg` computation is now done in one place: `propagate_doc_cfg.rs`. Because (trait) `impl`s are not retrieved at the same time as the other items, we cannot perform this computation in the clean process, it needs to be after. * Because there is `cfg` inheritance, we can keep track of them in one place (in `propagate_doc_cfg.rs`), meaning we don't need to copy an item's attributes to its children anymore. Only exception: impl items. For them we clone only `cfg` attributes. * `propagate_doc_cfg.rs` is also now much simpler, much less need to keep track of parents, since everything we need is handled by the new `CfgInfo` type. * I also suspect that `Cfg::simplify_with` could either be removed or at least used directly into `propagate_doc_cfg.rs` when we compute `cfg`s. Considering how big the PR already is, I'll do it in a follow-up. I didn't remove the `doc_cfg*` features in this PR because some dependencies used in `rustc` (like `stdarch`) are using it, so we need to have a nightly released with this PR before I can switch to the new feature. r? ghost
2025-09-27Auto merge of #146829 - cjgillot:jump-threading-loop-dominator, r=dianqkbors-17/+25
JumpThreading: Avoid computing dominators to identify loop headers. JumpThreading tries to avoid threading through loop headers to avoid creating irreducible CFGs. However, computing dominators is expensive, and accounts up to 20 % of the runtime of the JumpThreading pass for some cases like serde. This PR proposes to approximate according to the post-order traversal order. We define a "maybe" loop header as a block which is visited after its predecessor in post-order.
2025-09-27Remove `doc_auto_cfg` feature as wellGuillaume Gomez-5/+4
2025-09-27Improve code and fix typoGuillaume Gomez-65/+43
2025-09-27Apply first review round suggestionsGuillaume Gomez-19/+10
2025-09-27Improve code comments and extend tests for `doc_cfg` featureGuillaume Gomez-3/+32
2025-09-27Correctly handle target_feature in rustdoc cfgGuillaume Gomez-26/+11
2025-09-27Fix `tests/rustdoc/target-feature.rs` test by adding missing ↵Guillaume Gomez-0/+2
`#![feature(doc_cfg)]`
2025-09-27Remove `cfg(bootstrap)` for `doc_cfg` feature following #141925Guillaume Gomez-71/+23
2025-09-27Fix autodiff feature activationGuillaume Gomez-1/+0
2025-09-27fmtGuillaume Gomez-16/+5
2025-09-27Remove `doc_cfg_hide` featureGuillaume Gomez-6/+4
2025-09-27Improve code and better check `doc(cfg(...))` attributesGuillaume Gomez-75/+209
2025-09-27Add code documentation, improve code and improve error messageGuillaume Gomez-14/+28
2025-09-27Put back the `doc_cfg` code behind a nightly featureGuillaume Gomez-20/+35
2025-09-27Rename `CfgInfo::doc_auto_cfg_active` into `auto_cfg_active`Guillaume Gomez-9/+9
2025-09-27Update book for `doc_cfg` featureGuillaume Gomez-0/+268
2025-09-27Remove `doc_cfg` related content from rustdoc book unstable features chapterGuillaume Gomez-82/+0
2025-09-27Remove ui test for doc_cfg feature gateGuillaume Gomez-14/+5
2025-09-27Remove useless code in `propagate_doc_cfg.rs`Guillaume Gomez-18/+1
2025-09-27Strenghten checks for `doc(auto_cfg(show/hide))` attributesGuillaume Gomez-10/+32
2025-09-27Add "global" rustdoc test for RFC 3631Guillaume Gomez-0/+80
2025-09-27Update rustdoc testsGuillaume Gomez-42/+61
2025-09-27Implement RFC 3631Guillaume Gomez-209/+518
2025-09-27Auto merge of #146636 - Mark-Simulacrum:bootstrap-bump, r=jieyouxubors-676/+646
Bump bootstrap compiler to 1.91 beta https://forge.rust-lang.org/release/process.html#default-branch-bootstrap-update-tuesday
2025-09-27Auto merge of #147074 - matthiaskrgr:rollup-sm3owsd, r=matthiaskrgrbors-644/+946
Rollup of 10 pull requests Successful merges: - rust-lang/rust#145113 (resolve: Do not finalize shadowed bindings) - rust-lang/rust#146523 (Demote both armebv7r-none-* targets.) - rust-lang/rust#146704 (port `#[debugger_visualizer]` to the new attribute system) - rust-lang/rust#146758 (Stop linking rs{begin,end} objects on x86_64-*-windows-gnu) - rust-lang/rust#146778 (Use standard attribute logic for allocator shim) - rust-lang/rust#146849 (Reduce some uses of `LegacyBang`) - rust-lang/rust#147016 (fix doc comments to be more standard) - rust-lang/rust#147027 (Add new `tyalias` intra-doc link disambiguator) - rust-lang/rust#147031 (mbe: Simplify check_redundant_vis_repetition) - rust-lang/rust#147058 (Ignore more failing ui tests for GCC backend) Failed merges: - rust-lang/rust#147046 (Rename `rust.use-lld` to `rust.bootstrap-override-lld`) r? `@ghost` `@rustbot` modify labels: rollup
2025-09-26Bump stage0Mark Rousskov-500/+500
2025-09-26Apply cfg(bootstrap) replacementMark Rousskov-38/+8
2025-09-26Update CURRENT_RUSTC_VERSION post-bumpMark Rousskov-138/+138
2025-09-26Handle self-loops too.Camille Gillot-3/+5
2025-09-26Rollup merge of #147058 - GuillaumeGomez:ignore-more-ui-tests, r=KobzolMatthias Krüger-297/+440
Ignore more failing ui tests for GCC backend Needed for https://github.com/rust-lang/rust/pull/146414. r? ``@Kobzol``
2025-09-26Rollup merge of #147031 - joshtriplett:mbe-opt-collect, r=lcnrMatthias Krüger-6/+6
mbe: Simplify check_redundant_vis_repetition Eliminate a use of `map_or` in favor of a match. Inline some variable definitions that don't add clarity, and that prevent short-circuiting.
2025-09-26Rollup merge of #147027 - GuillaumeGomez:tyalias-disambiguator, r=lolbinarycatMatthias Krüger-1/+98
Add new `tyalias` intra-doc link disambiguator Fixes https://github.com/rust-lang/rust/issues/146855. Alternative to rust-lang/rust#146866. This adds support for a new disambiguator: `tyalias`. I think it's common enough to have type aliases nowaday, so no reason to not be able to have a disambiguator for them. cc ``@fmease`` r? lolbinarycat
2025-09-26Rollup merge of #147016 - hkBst:whitespace-1, r=nnethercoteMatthias Krüger-23/+5
fix doc comments to be more standard
2025-09-26Rollup merge of #146849 - joshtriplett:macro-reduce-legacy-bang, r=petrochenkovMatthias Krüger-22/+19
Reduce some uses of `LegacyBang` - **Switch `dummy_bang` from `LegacyBang` to `Bang`** - **mbe: Switch dummy extension used for errors from `LegacyBang` to `Bang`**
2025-09-26Rollup merge of #146778 - nikic:allocator-shim-attributes, r=jackh726Matthias Krüger-114/+126
Use standard attribute logic for allocator shim Use llfn_attrs_from_instance() to generate the attributes for the allocator shim. This ensures that we generate all the usual attributes (and don't get to find out one-by-one that a certain attribute is important for a certain target). Additionally this will enable emitting the allocator-specific attributes (not included here). This change is quite awkward because the allocator shim uses SimpleCx, while llfn_attrs_from_instance uses CodegenCx. I've switched it to use SimpleCx plus tcx/sess arguments where necessary. If there's a simpler way to do this, I'd love to know about it...
2025-09-26Rollup merge of #146758 - mati865:amd64_mingw_no_rs_objects, r=petrochenkovMatthias Krüger-7/+23
Stop linking rs{begin,end} objects on x86_64-*-windows-gnu Until now, x86_64-pc-windows-gnu linked `rsbegin.o` and `rsend.o` just like i686-pc-windows-gnu, even though they were no-ops for it. This was likely done for the simplicity back when it was introduced. Today the things are different and these startup/end objects harm other features, like `build-std`. Given the demotion of i686-pc-windows-gnu from tier 1, there is no point in hurting x86_64-pc-windows-gnu, which remains a tier 1. The files are still shipped in case downstream crates expect them, as in case of the unmaintained `xargo`. Fixes https://github.com/rust-lang/rust/issues/146739
2025-09-26Rollup merge of #146704 - jdonszelmann:port-debug-visualizer, r=petrochenkovMatthias Krüger-154/+185
port `#[debugger_visualizer]` to the new attribute system
2025-09-26Rollup merge of #146523 - thejpster:demote-armebv7r-targets, r=jackh726Matthias Krüger-5/+5
Demote both armebv7r-none-* targets. OK, slightly more controversial than https://github.com/rust-lang/rust/pull/146520 and https://github.com/rust-lang/rust/pull/146522 - I'd like to drop the bare-metal **big-endian** Armv7-R targets down to Tier 3. The reason is simple - we cannot test them in https://github.com/rust-embedded/cortex-ar/. This because QEMU support for Big Endian Armv7-R is broken. I tried quite hard, but all the strings I printed with semihosting came out byte swapped (or "etybawa depp") because of how QEMU kludges the access to memory in big-endian mode. The target also has only a single maintainer. Although, if ````@chrisnc```` wants to put up a case for keeping it at Tier 2 though, I'm happy to hear it! This PR wil be rebased once https://github.com/rust-lang/rust/pull/146419 completes the queue.
2025-09-26Rollup merge of #145113 - petrochenkov:lessfinalize, r=lcnrMatthias Krüger-15/+39
resolve: Do not finalize shadowed bindings I.e. do not mark them as used, or non-speculatively loaded, or similar. Previously they were sometimes finalized during early resolution, causing issues like https://github.com/rust-lang/rust/pull/144793#issuecomment-3168108005.
2025-09-26Auto merge of #146885 - lcnr:method-selection-opaques, r=BoxyUwUbors-291/+647
support opaque types in method selection See my notes in https://hackmd.io/4ILASx3mQ3u_gW9r1JyqCw. This PR builds on https://github.com/rust-lang/rust/pull/145993 and allows not-yet defined opaque types as self types in the `method_autoderef_chain`. E.g. for `Box<impl Deref<impl Foo>>` this results in the autoderef chain `Box<impl Deref> -> ?deref_hidden_ty -> ?foo_hidden_ty`. Method selection stays ambiguous if the final autoderef step is still an infer var unless that var is an opaque. TODO: treating opaques as rigid jank. r? `@BoxyUwU`
2025-09-26reviewlcnr-7/+13
2025-09-26add testslcnr-0/+161
2025-09-26move testslcnr-0/+0
2025-09-26allow method calls on opaqueslcnr-171/+357
2025-09-26use `try_structurally_resolve_type` for method receiverlcnr-36/+54
We'll still error due to the `opt_bad_ty` of `method_autoderef_steps`. This slightly worsens the span of `infer_var.method()` which is now the same as for `Box::new(infer_var).method()`. Unlike `structurally_resolve_type`, `probe_op` does not check whether the infcx is already tainted, so this results in 2 previously not emitted errors.
2025-09-26remove unnecessary structurally resolvelcnr-3/+1
`autoderef` already resolved and `method_autoderef_steps` makes sure we won't encounter an inference variable
2025-09-26predefined opaques to `method_autoderef_steps`lcnr-15/+63