| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Drop rustc workspace loading error, if we don't needs its sources
|
|
Apply `impl_super_outlives` optimization to new trait solver
I never did rust-lang/rust#128746 for the new solver.
r? lcnr
|
|
|
|
changelog: none
|
|
|
|
|
|
De-arc trait items query
|
|
|
|
feat: Extend vscode 'run' command with optional mode argument for run…
|
|
ci: Fix cancel parallel jobs on windows
|
|
|
|
|
|
|
|
|
|
The cross-build megatest gets extremely conflict-prone, so
start cutting it into smaller pieces.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rollup of 15 pull requests
Successful merges:
- rust-lang/rust#135731 (Implement parsing of pinned borrows)
- rust-lang/rust#138780 (Add `#[loop_match]` for improved DFA codegen)
- rust-lang/rust#142453 (Windows: make `read_dir` stop iterating after the first error is encountered)
- rust-lang/rust#142633 (Error on invalid signatures for interrupt ABIs)
- rust-lang/rust#142768 (Avoid a bitcast FFI call in transmuting)
- rust-lang/rust#142825 (Port `#[track_caller]` to the new attribute system)
- rust-lang/rust#142844 (Enable short-ice for Windows)
- rust-lang/rust#142934 (Tweak `-Zmacro-stats` measurement.)
- rust-lang/rust#142955 (Couple of test suite fixes for cg_clif)
- rust-lang/rust#142977 (rustdoc: Don't mark `#[target_feature]` functions as ⚠)
- rust-lang/rust#142980 (Reduce mismatched-lifetime-syntaxes suggestions to MaybeIncorrect)
- rust-lang/rust#142982 (Corrected spelling mistake in c_str.rs)
- rust-lang/rust#142983 (Taint body on invalid call ABI)
- rust-lang/rust#142988 (Update wasm-component-ld to 0.5.14)
- rust-lang/rust#142993 (Update cargo)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Rollup of 15 pull requests
Successful merges:
- rust-lang/rust#135731 (Implement parsing of pinned borrows)
- rust-lang/rust#138780 (Add `#[loop_match]` for improved DFA codegen)
- rust-lang/rust#142453 (Windows: make `read_dir` stop iterating after the first error is encountered)
- rust-lang/rust#142633 (Error on invalid signatures for interrupt ABIs)
- rust-lang/rust#142768 (Avoid a bitcast FFI call in transmuting)
- rust-lang/rust#142825 (Port `#[track_caller]` to the new attribute system)
- rust-lang/rust#142844 (Enable short-ice for Windows)
- rust-lang/rust#142934 (Tweak `-Zmacro-stats` measurement.)
- rust-lang/rust#142955 (Couple of test suite fixes for cg_clif)
- rust-lang/rust#142977 (rustdoc: Don't mark `#[target_feature]` functions as ⚠)
- rust-lang/rust#142980 (Reduce mismatched-lifetime-syntaxes suggestions to MaybeIncorrect)
- rust-lang/rust#142982 (Corrected spelling mistake in c_str.rs)
- rust-lang/rust#142983 (Taint body on invalid call ABI)
- rust-lang/rust#142988 (Update wasm-component-ld to 0.5.14)
- rust-lang/rust#142993 (Update cargo)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
minor: Fix link in the book
|
|
|
|
Update cargo
2 commits in 84709f085062cbf3c51fa507527c1b2334015178..409fed7dc1553d49cb9a8c0637d12d65571346ce
2025-06-22 23:58:39 +0000 to 2025-06-23 15:55:04 +0000
- Fix potential deadlock in `CacheState::lock` (rust-lang/cargo#15698)
- feat(toml): Parse support for multiple build scripts (rust-lang/cargo#15630)
|
|
r=Mark-Simulacrum
Update wasm-component-ld to 0.5.14
This brings in a few updates to the bundled `wasm-component-ld` dependency used by the `wasm32-wasip2` target. This primarily includes support for upcoming component model async/WASIp3 support which will be convenient to have native support for a few months from now.
|
|
r=workingjubilee
Taint body on invalid call ABI
Fixes https://github.com/rust-lang/rust/issues/142969
I'm not certain if there are any other paths that should be tainted, but they would operate similarly. Perhaps pointer coercion.
Introduces `extern "rust-invalid"` for testing purposes.
r? ```@workingjubilee``` or ```@oli-obk``` (or anyone)
|
|
Corrected spelling mistake in c_str.rs
Changed "you're" to "your" on line 470.
|
|
r=ehuss
Reduce mismatched-lifetime-syntaxes suggestions to MaybeIncorrect
`cargo fix` does not have a way of distinguishing a suggestion with
multiple spans which should all be applied from multiple suggestions
where only one should be applied (see rust-lang/rust#53934). `cargo fix` only works
with `MachineApplicable` suggestions, so downgrading the applicability
will stop `cargo` from suggesting the user run `cargo
fix`. rust-analyzer does work with `MaybeIncorrect`, so interactive
fixes are still available.
r? `@ehuss`
|
|
r=GuillaumeGomez
rustdoc: Don't mark `#[target_feature]` functions as ⚠
Closes https://github.com/rust-lang/rust/issues/142952
|
|
Couple of test suite fixes for cg_clif
Most of these are required for getting the test suite running with panic=unwind for cg_clif.
|
|
Tweak `-Zmacro-stats` measurement.
It currently reports net size, i.e. size(output) - size(input). After some use I think this is sub-optimal, and it's better to just report size(output). Because for derive macros the input size is always 1, and for attribute macros it's almost always 1.
r? ```@petrochenkov```
|
|
Enable short-ice for Windows
Works fine for x64 without modifications.
x86 MSVC is still failing.
Addresses item in rust-lang/rust#128602
---
try-job: x86_64-mingw-*
try-job: x86_64-msvc-*
try-job: i686-msvc-*
|
|
Port `#[track_caller]` to the new attribute system
r? ``@oli-obk``
depends on https://github.com/rust-lang/rust/pull/142493
Closes rust-lang/rust#142783
(didn't add a test for this, this situation should simply never come up again, the code was simply wrong. lmk if I should add it, but it won't test something very useful)
|
|
Avoid a bitcast FFI call in transmuting
For things that only change the valid ranges, we can just return the input, rather than making the `LLVMBuildBitCast` call and having *it* then do nothing.
I tried to tweak this a bit more and broke stuff, so I also added some extra tests for that as we apparently didn't have coverage.
|
|
r=workingjubilee
Error on invalid signatures for interrupt ABIs
We recently added `extern "custom"`, which must have type `fn()`. The various `extern "interrupt"` ABIs impose similar constraints on the signature of functions with that ABI: `x86-interrupt` should not have a return type (linting on the exact argument types is left as future work), and the other interrupt ABIs cannot have any parameters or a return type.
r? ```@workingjubilee```
|
|
Windows: make `read_dir` stop iterating after the first error is encountered
This also essentially makes the `ReadDir` iterator fused. Which I think is pretty much what people expect anyway.
[`FindNextFileW`](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-findnextfilew) doesn't document what happens if you call it after iteration ends or after an error so we're probably in implementation defined territory at that point.
|
|
r=oli-obk,traviscross
Add `#[loop_match]` for improved DFA codegen
tracking issue: https://github.com/rust-lang/rust/issues/132306
project goal: https://github.com/rust-lang/rust-project-goals/issues/258
This PR adds the `#[loop_match]` attribute, which aims to improve code generation for state machines. For some (very exciting) benchmarks, see https://github.com/rust-lang/rust-project-goals/issues/258#issuecomment-2732965199
Currently, a very restricted syntax pattern is accepted. We'd like to get feedback and merge this now before we go too far in a direction that others have concerns with.
## current state
We accept code that looks like this
```rust
#[loop_match]
loop {
state = 'blk: {
match state {
State::A => {
#[const_continue]
break 'blk State::B
}
State::B => { /* ... */ }
/* ... */
}
}
}
```
- a loop should have the same semantics with and without `#[loop_match]`: normal `continue` and `break` continue to work
- `#[const_continue]` is only allowed in loops annotated with `#[loop_match]`
- the loop body needs to have this particular shape (a single assignment to the match scrutinee, with the body a labelled block containing just a match)
## future work
- perform const evaluation on the `break` value
- support more state/scrutinee types
## maybe future work
- allow `continue 'label value` syntax, which `#[const_continue]` could then use.
- allow the match to be on an arbitrary expression (e.g. `State::Initial`)
- attempt to also optimize `break`/`continue` expressions that are not marked with `#[const_continue]`
r? ``@traviscross``
|
|
Implement parsing of pinned borrows
This PR implements part of #130494.
EDIT: It introduces `&pin mut $place` and `&pin const $place` as sugars for `std::pin::pin!($place)` and its shared reference equivalent, except that `$place` will not be moved when borrowing. The borrow check will be in charge of enforcing places cannot be moved or mutably borrowed since being pinned till dropped.
### Implementation steps:
- [x] parse the `&pin mut $place` and `&pin const $place` syntaxes
- [ ] borrowck of `&pin mut|const`
- [ ] support autoref of `&pin mut|const` when needed
|
|
Signed-off-by: Karan Janthe <karanjanthe@gmail.com>
|
|
Signed-off-by: Karan Janthe <karanjanthe@gmail.com>
|
|
update to literal-escaper 0.0.4 for better API without `unreachable` and faster string parsing
This is the replacement for just the part of https://github.com/rust-lang/rust/pull/138163 dealing with the changed API of unescape functionality, since that got moved into its own crate.
<del>This uses an unpublished version of literal-escaper (https://github.com/rust-lang/literal-escaper/pull/8).</del>
r? `@nnethercote`
|
|
update to literal-escaper 0.0.4 for better API without `unreachable` and faster string parsing
This is the replacement for just the part of https://github.com/rust-lang/rust/pull/138163 dealing with the changed API of unescape functionality, since that got moved into its own crate.
<del>This uses an unpublished version of literal-escaper (https://github.com/rust-lang/literal-escaper/pull/8).</del>
r? `@nnethercote`
|
|
|
|
|