| Age | Commit message (Collapse) | Author | Lines |
|
Expose iterators over an inference result's types
|
|
Co-authored-by: Lewis McClelland <lewis@lewismcclelland.me>
|
|
|
|
r=Urgau,davidtwco
Extends AArch64 branch protection support to include GCS
Extends existing support for AArch64 branch protection to include support for [Guarded Control Stacks](https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-2022#guarded-control-stack-gcs:~:text=Extraction%20or%20tracking.-,Guarded%20Control%20Stack%20(GCS),-With%20the%202022).
|
|
|
|
|
|
Rollup of 6 pull requests
Successful merges:
- rust-lang/rust#146818 (constify {float}::total_cmp())
- rust-lang/rust#146896 (rustc-dev-guide subtree update)
- rust-lang/rust#146898 (Update books)
- rust-lang/rust#146899 (Fix a crash/mislex when more than one frontmatter closing possibility is considered)
- rust-lang/rust#146904 (rust-lang/rust#140368 Mutex/RwLock/ReentrantLock::data_ptr to be const fn)
- rust-lang/rust#146907 (add regression test for issue 146537)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Example
---
```rust
fn f() { i$0f x && let Some(_) = Some(1) { 1 } else { 0 } }
```
**Before this PR**:
```rust
fn f() { if !(x && let Some(_) = Some(1)) { 0 } else { 1 } }
```
**After this PR**:
Assist not applicable
|
|
|
|
Convert more things from chalk to next solver
|
|
Update LLVM to 21.1.2
Fixes rust-lang/rust#146065.
|
|
monomorphization
Unify zero-length and oversized SIMD errors
|
|
|
|
Update books
## rust-lang/book
1 commits in 3e9dc46aa563ca0c53ec826c41b05f10c5915925..33f1af40cc44dde7e3e892f7a508e6f427d2cbc6
2025-09-15 16:10:14 UTC to 2025-09-15 16:10:14 UTC
- Release trpl 0.3 (rust-lang/book#4505)
## rust-lang/reference
9 commits in b3ce60628c6f55ab8ff3dba9f3d20203df1c0dee..cc7247d8dfaef4c39000bb12c55c32ba5b5ba976
2025-09-20 10:26:26 UTC to 2025-09-08 18:07:29 UTC
- Document temporary scoping for destructuring assignments (rust-lang/reference#1992)
- Specify lifetime extension of `pin!` and `format_args!` arguments (rust-lang/reference#1980)
- update for more ABIs supporting c-variadics (rust-lang/reference#1936)
- Fix incorrect span tag (rust-lang/reference#1995)
- Remove strike attribute (rust-lang/reference#1997)
- Specify the target limits for target-specific ABIs (rust-lang/reference#2000)
- Remove tuple index carve out (rust-lang/reference#1966)
- Enable folding of chapter listing in navigation sidebar (rust-lang/reference#1988)
- Add support to grammar for single line comments (rust-lang/reference#1993)
## rust-lang/rust-by-example
1 commits in dd26bc8e726dc2e73534c8972d4dccd1bed7495f..2c9b490d70e535cf166bf17feba59e594579843f
2025-09-18 22:28:52 UTC to 2025-09-18 22:28:52 UTC
- Update unit testing output for additional test (rust-lang/rust-by-example#1958)
|
|
rustc-dev-guide subtree update
Subtree update of `rustc-dev-guide` to https://github.com/rust-lang/rustc-dev-guide/commit/d76c84c23cb8558efe133951d3b4e9d960750192.
Created using https://github.com/rust-lang/josh-sync.
r? `````@ghost`````
|
|
miri subtree update
Subtree update of `miri` to https://github.com/rust-lang/miri/commit/f6466ce655ff6b203de81ba6f4cbfe8d8dd6756f.
Created using https://github.com/rust-lang/josh-sync.
r? `@ghost`
|
|
named_associated_type_shorthand_candidates
|
|
|
|
lower::callable_item_signature
|
|
r=fmease,lolbinarycat,GuillaumeGomez
prevent line number from being copied in chrome
- Closes rust-lang/rust#146816
Fix the issue where line numbers are copied along with code in Chrome
|
|
Linker-plugin-based LTO: update list of good combinations (inc. beta + nightly)
This PR updates the list of good combinations of Rust toolchains and LLVM releases for linker-plugin-based LTO
Related to first question in https://users.rust-lang.org/t/questions-regarding-linker-plugin-based-lto/134070
|
|
[win] Use find-msvc-tools instead of cc to find the linker and rc on Windows
`find-msvc-tools` was factored out from `cc` to allow updating the use in `rustc_codegen_ssa` (finding the linker when running the Rust compiler) and `rustc_windows_rc` (finding the Windows Resource Compiler when running the Rust compiler) to be separate from the use in `rustc_llvm` (building LLVM as part of building the Rust compiler).
|
|
test: Use SVG for terminal url test
I came across the test for `-Zterminal-urls` and found its output a bit hard to read. So, I decided to switch it to an SVG test, as I found it easier to differentiate the link and link text.
Note: `anstyle-svg` needed to be upgraded to at least `0.1.8` to support links in SVGs, so I went ahead and upgraded it to the latest version (`0.1.11`).
|
|
|
|
|
|
|
|
GCS support was added to GCC in version 15, thus the rmake test for this
patch requires GCC15
Similarly, the ubuntu version is updated so the newer clang version is
available, and/or GCC15 is the default.
|
|
|
|
|
|
Fix "Replace match with if let" not to trigger when invalid transformations occur
|
|
(This re-introduces a reduced access to a couple of previously public fields on `InferenceResult`)
|
|
|
|
|
|
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: f6092f224d2b1774b31033f12d0bee626943b02f
Filtered ref: f843cd4f29bdcd8d474dbb9e5e4365eb7f263ec6
This merge was created using https://github.com/rust-lang/josh-sync.
|
|
This updates the rust-version file to f6092f224d2b1774b31033f12d0bee626943b02f.
|
|
Migrate `expand_record_rest_pattern` assist to use `SyntaxEditor`
|
|
Add panic=immediate-abort
MCP: https://github.com/rust-lang/compiler-team/issues/909
This adds a new panic strategy, `-Cpanic=immediate-abort`. This panic strategy essentially just codifies use of `-Zbuild-std-features=panic_immediate_abort`. This PR is intended to just set up infrastructure, and while it will change how the compiler is invoked for users of the feature, there should be no other impacts.
In many parts of the compiler, `PanicStrategy::ImmediateAbort` behaves just like `PanicStrategy::Abort`, because actually most parts of the compiler just mean to ask "can this unwind?" so I've added a helper function so we can say `sess.panic_strategy().unwinds()`.
The panic and unwind strategies have some level of compatibility, which mostly means that we can pre-compile the sysroot with unwinding panics then the sysroot can be linked with aborting panics later. The immediate-abort strategy is all-or-nothing, enforced by `compiler/rustc_metadata/src/dependency_format.rs` and this is tested for in `tests/ui/panic-runtime/`. We could _technically_ be more compatible with the other panic strategies, but immediately-aborting panics primarily exist for users who want to eliminate all the code size responsible for the panic runtime. I'm open to other use cases if people want to present them, but not right now. This PR is already large.
`-Cpanic=immediate-abort` sets both `cfg(panic = "immediate-abort")` _and_ `cfg(panic = "abort")`. bjorn3 pointed out that people may be checking for the abort cfg to ask if panics will unwind, and also the sysroot feature this is replacing used to require `-Cpanic=abort` so this seems like a good back-compat step. At least for the moment. Unclear if this is a good idea indefinitely. I can imagine this being confusing.
The changes to the standard library attributes are purely mechanical. Apart from that, I removed an `unsafe` we haven't needed for a while since the `abort` intrinsic became safe, and I've added a helpful diagnostic for people trying to use the old feature.
To test that `-Cpanic=immediate-abort` conflicts with other panic strategies, I've beefed up the core-stubs infrastructure a bit. There is now a separate attribute to set flags on it.
I've added a test that this produces the desired codegen, called `tests/run-make-cargo/panic-immediate-abort-codegen/` and also a separate run-make-cargo test that checks that we can build a binary.
|
|
|
|
Because `add_field` uses `ted`
|
|
|
|
Example
---
```rust
fn foo<c$0>() {}
```
->
```rust
fn foo<const $1: $0>() {}
```
|
|
|
|
|
|
|
|
|
|
|
|
This avoids rust-analyzer having to wait for a build lock due to ./x
running other commands (and the other way around).
|
|
Rollup of 5 pull requests
Successful merges:
- rust-lang/rust#146795 (Enable `limit_rdylib_exports` on wasm targets)
- rust-lang/rust#146828 (fix a crash in rustdoc merge finalize without input file)
- rust-lang/rust#146848 (Add x86_64-unknown-motor (Motor OS) tier 3 target)
- rust-lang/rust#146884 (Fix modification check of `rustdoc-json-types`)
- rust-lang/rust#146887 (Remove unused #![feature(get_mut_unchecked)] in Rc and Arc examples)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
|