Rollup of 11 pull requests#159213
Conversation
ExprValidator::check_unused_must_use previously matched only Expr::Call and Expr::MethodCall directly on the expression of a Statement::Expr with semicolon. This left several stmt-with-semi cases unwarned: blocks whose tail is a #[must_use] call, unsafe-blocks, if/else arms, match arms, and const blocks.
Refactors check_unused_must_use to walk into Expr::Block { tail }, Expr::Unsafe { tail }, Expr::If { then_branch, else_branch }, Expr::Match { arms }, and Expr::Const(inner) before applying the existing leaf check (callee or method #[must_use] attribute, or #[must_use] ADT return type). The diagnostic stays at the leaf call so the span points to the actual must_use producer rather than the wrapping block.
Adds ide-diagnostics tests covering each new container case.
Follow-up to rust-lang/rust-analyzer#22239.
Signed-off-by: Onyeka Obi <softwareengineerasaservant@isurvivable.cv>
The `resolver.lockfile_path` setting was stabilized, so we can omit the `-Zlockfile-path` argument.
- clean-up `MacroArgResult` docs - remove needless import - move `impl_internable!(ModPath)` to `mod_path.rs` - combine the impl blocks of HirFileId AFAICT there's no semantic separation between them, and the first impl block is placed before the definition itself.
Signed-off-by: Xiangfei Ding <dingxiangfei2009@protonmail.ch>
Add a simple info log statement when cache priming finishes on startup. Disclosure: Anthropic Claude 3.5 Flash assisted with this change.
AI-assisted-by: OpenAI Codex
Storage is still required even if the local is moved out and immediately moved in again. Signed-off-by: Xiangfei Ding <dingxiangfei2009@protonmail.ch>
NavigationTarget::docs isn't actually used anywhere, so remove it. After 05c0f88c77233154ca592d59c90ec7da81ad63da I thought I'd take a look at any other obviously unused fields and found this. This change has negligible performance impact in my testing, but it's less code. AI disclosure: Written with help by Claude and Fable 5.
internal: Remove dead struct field
…e-to-ready provide startup time to ready log point and associated benchmark
…_id-and-hir_file_id-methods internal: remove some more `ExpandDatabase` queries
- move span map creation out of the closure, as it's an expensive operation
internal: migrate `ExpandDatabase::*span_map` queries
We should strip `///` (or `//!` or `/**` or `/*!`), which is 3 characters, not 2.
- Increase the recursion depth when handling the expansion and not when expanding, so that we actually respect the recursion limit. - Reuse the already-available span map on expansion. - Have only one context struct.
Example --- ```diff -typeT = $0 whereSelf:Sized; +type T = $0 where Self: Sized; ```
- Use `HirFileId::parse_with_map`. This avoids a duplicate call to `MacroCallId::parse_macro_expansion` in the macro case.
For symmetry with `MacroCallId::macro_expand`
internal: make `expand_speculative` a method on `MacroCallId`
|
@bors r+ rollup=never p=5 |
This comment has been minimized.
This comment has been minimized.
Rollup of 11 pull requests Successful merges: - #159210 (`rust-analyzer` subtree update) - #158655 (Fix coroutine MIR saved local remapping) - #159205 (bootstrap: Replace `ShouldRun::crates` with `crate_or_deps_filtered`) - #159208 (Fix `attr_on_non_tail_expr` typo) - #157524 (Fix relative paths in private import suggestions) - #158325 (Document NonNull layout guarantees) - #158882 (enable `do_not_recommend` attr for method call errors in current solver) - #158982 (Pretty-print MIR user types too.) - #159069 (Add codegen test for constant returns after local use) - #159163 (rustc_target: Add acquire-release to implied features of v8) - #159201 (borrowck: Represent 'best blame constraint' as index into `Vec<OutlivesConstraint>`)
|
💔 Test for 5a52488 failed: CI. Failed job:
|
|
@bors retry |
This comment has been minimized.
This comment has been minimized.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 5503df8 (parent) -> 225e91c (this PR) Test differencesShow 223 test diffsStage 0
Stage 1
Stage 2
Additionally, 172 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 225e91c03da22cd4b9792b83c1cfc97967101614 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
📌 Perf builds for each rolled up PR:
previous master: 5503df8734 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (225e91c): comparison URL. Overall result: ❌ regressions - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -2.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -3.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 487.42s -> 488.117s (0.14%) |
Successful merges:
rust-analyzersubtree update #159210 (rust-analyzersubtree update)ShouldRun::crateswithcrate_or_deps_filtered#159205 (bootstrap: ReplaceShouldRun::crateswithcrate_or_deps_filtered)attr_on_non_tail_exprtypo #159208 (Fixattr_on_non_tail_exprtypo)do_not_recommendattr for method call errors in current solver #158882 (enabledo_not_recommendattr for method call errors in current solver)Vec<OutlivesConstraint>#159201 (borrowck: Represent 'best blame constraint' as index intoVec<OutlivesConstraint>)r? @ghost
Create a similar rollup