| Age | Commit message (Collapse) | Author | Lines |
|
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
|
|
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`
|
|
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
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
`#![feature(doc_cfg)]`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bump bootstrap compiler to 1.91 beta
https://forge.rust-lang.org/release/process.html#default-branch-bootstrap-update-tuesday
|
|
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
|
|
|
|
|
|
|
|
|
|
Ignore more failing ui tests for GCC backend
Needed for https://github.com/rust-lang/rust/pull/146414.
r? ``@Kobzol``
|
|
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.
|
|
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
|
|
fix doc comments to be more standard
|
|
Reduce some uses of `LegacyBang`
- **Switch `dummy_bang` from `LegacyBang` to `Bang`**
- **mbe: Switch dummy extension used for errors from `LegacyBang` to `Bang`**
|
|
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...
|
|
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
|
|
port `#[debugger_visualizer]` to the new attribute system
|
|
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.
|
|
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.
|
|
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`
|
|
|
|
|
|
|
|
|
|
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.
|
|
`autoderef` already resolved and `method_autoderef_steps` makes
sure we won't encounter an inference variable
|
|
|