Rollup of 13 pull requests#158891
Conversation
Signed-off-by: Amirhossein Akhlaghpour <[email protected]>
Introduce a dedicated panic for null reference production to distinguish producing a reference from a null pointer from an actual null pointer dereference. This emits a dedicated panic message for null reference production while preserving the existing panic for actual dereferences.
This field is not used anywhere.
For reference, the helper function was introduced in 2a3969a. In any case, the code becomes simpler if we remove it now, so let's remove it.
Use correct typing mode in mir building for the next solver Previously, we used typing env `non_body_analysis` when building MIR body. This is wrong because we're in a body and should reveal opaque types defined in this scope. Fixes rust-lang#158439 Fixes rust-lang#158429 r? lcnr or anyone familiar with typing modes.
Distinguish null reference production from null pointer dereference in UB checks Closes rust-lang#154044 This change distinguishes null reference production from actual null pointer dereferences in the UB checks. Producing a reference from a null pointer (for example, `&*ptr`) is undefined behavior even if no memory is dereferenced. This change introduces a dedicated `AssertKind::NullReferenceConstructed` and runtime panic so these cases produce a more accurate diagnostic while preserving the existing panic for actual null pointer dereferences. Summary - Add `AssertKind::NullReferenceConstructed`. - Emit it for null reference production in the MIR null check pass. - Add `panic_null_reference_constructed` and its lang item. - Keep `NullPointerDereference` for actual dereferences. - Update the affected UI tests.
…ders-ice, r=chenyukang add regression test for late-bound type method probe ICE Closes rust-lang#149014
…Kobzol Update the rustc_perf submodule I hope this is a thing that's ok to do, I never update submodules but this one seems to be 8 months old and we got some new benchmarks in the meantime. r? @Kobzol
…r=lcnr Prevent rustdoc auto-trait ICEs with `-Znext-solver=globally` - Ensure rustdoc with `-Znext-solver=globally` does not ICE. r? @lcnr
Instatiate binder instead of skipping when suggesting function arg error Fixes rust-lang#158317 r? lcnr
Avoid infinite recursion when trying to build valtrees for self-referential consts This PR adds cycle detection to `const_to_valtree_inner` by using a tricolor DFS, so self-referential statics in pats don't cause valtree construction to recurse infinitely. Instead, we now return a new `ValTreeCreationError::CyclicConst`, similar to the current `InvalidConst` and `NodesOverflow` variants. fixes rust-lang#144719
…arantees, r=clarfonthey Document blocking guarantees for `std::sync` Per rust-lang#157728, this PR documents how exactly functions/methods in `std::mpsc` (and `mpmc`) block. Copied from the issue: > For the wasm part of this specifically, yes, using a mutex anywhere is basically forbidden on the main thread in browsers. Personally I don't think it's reasonable to expect the standard library to use zero mutexes on wasm and make absolutely everything lock-free. This is a consequence of browsers and not something Rust can "just" fix. Basically I would not recommend changing the implementation and instead leaving it as-is. I'll note that there's a long and storied history of blocking-the-main-thread-with-wasm-threads in the browser, and I'm not putting in all the context here. > > \- alexcrichton (P.S. documentation seems to be line wrapped but doesn't have a consistent wrapping width? I tried to match the surrounding style as best as I could; let me know if there's something better I should've done) Fixes rust-lang#157728
…ot4195 Reorganize `tests/ui/issues` [19/N] Part of [GSoC'26 project](https://rust-lang.zulipchat.com/#narrow/channel/421156-gsoc/topic/Project.3A.20Reorganizing.20tests.2Fui.2Fissues) r? Kivooeo @Teapot4195
…r=nnethercote Delete `impl_def_id` field from `ImplHeader` This field is not used anywhere.
rewrite `Align::max_for_target` in a more obvious way r? scottmcm The old version was just as correct, and arguably this doesn't matter, but oh well... Following the confusion in https://github.com/rust-lang/rust/pull/152929/changes#r2836568710.
…int_info, r=jieyouxu borrowck: Inline `free_region_constraint_info()` to simplify the code For reference, the helper function was introduced in 2a3969a. But, the code becomes simpler if we remove the helper function, so let's remove it. This takes us one step closer (this is commit 3 of 4) towards the end result illustrated in rust-lang#158623.
|
@bors r+ rollup=never p=5 |
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 b960fcf (parent) -> bcd9ae8 (this PR) Test differencesShow 425 test diffsStage 1
Stage 2
(and 11 additional test diffs) Additionally, 314 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 bcd9ae8b77e8a1d03d73b51f1fd9cb99565cfdc5 --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: b960fcf2ff In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (bcd9ae8): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)Results (primary -1.7%, secondary -4.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 0.3%, secondary 0.4%)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: 489.183s -> 488.52s (-0.14%) |
Successful merges:
-Znext-solver=globally#158346 (Prevent rustdoc auto-trait ICEs with-Znext-solver=globally)std::sync#158679 (Document blocking guarantees forstd::sync)tests/ui/issues[19/N] #158826 (Reorganizetests/ui/issues[19/N])impl_def_idfield fromImplHeader#158860 (Deleteimpl_def_idfield fromImplHeader)Align::max_for_targetin a more obvious way #158867 (rewriteAlign::max_for_targetin a more obvious way)free_region_constraint_info()to simplify the code #158878 (borrowck: Inlinefree_region_constraint_info()to simplify the code)r? @ghost
Create a similar rollup