Repository navigation
Rollup of 3 pull requests - #163783
Rollup of 3 pull requests#163783
Conversation
It has a single call site, where it can be replaced with `insert_value_idx` because `flood_discr` and `find_discr` are already done.
It's basically the same as `Option::and_then`.
`handle_assign` handles several `Rvalue` variants, and then falls through to the only call site of `handle_rvalue`, which handles all the `Rvalue` variants. The `Use`, `CopyForDeref`, and `Aggregate` arms in `handle_rvalue` are unreachable because those variants are fully handled by `handle_assign` This commit just inlines and removes `handle_rvalue`, which makes the control flow simpler and avoids the unreachable arms.
These all have a single call site and are tiny or small, and several are called from methods that are also tiny. (Too many small methods just spreads things out unnecessarily.) The only remaining `handle_*` methods are `handle_assign`, which is large, and `handle_operand`, which has multiple call sites.
…-root-path, r=notriddle,GuillaumeGomez Fix relative extern URL depth on source pages Source pages with `--extern-html-root-url` pointing to a relative URL like `../` were generating links with one extra `../`. So instead of `../../core/iter/index.html` you'd get `../../../core/iter/index.html`. Took a while to notice because `htmldocck.py` uses substring matching — `../../core/` is a substring of `../../../core/` so the test passed anyway. Two root causes. `remote_url_prefix` was using `cx.current.len()` for depth, but during source rendering `cx.current` is empty — `SourceCollector` doesn't do module descent. Source pages live under `src/<crate_name>/` so the real depth is 2, not 0. On top of that, `make_href` was trying to compensate by prepending `root_path` to relative remote URLs (there was a FIXME about this), which just made it worse — `../../` + `../core/iter/` = `../../../core/iter/`. Fix: added `remote_item_depth(root_path, doc_depth)` that counts `../` segments in `root_path` when present, falls back to `doc_depth` otherwise. With the right depth in `remote_url_prefix`, `make_href` no longer needs to touch remote URLs at all — so `url_parts` now returns `is_remote = true` for all `Remote` locations. Also renamed `is_absolute` → `is_remote` since the semantics were always about "don't modify this URL", not about whether it has a scheme. Added `!has` assertions to the test so the wrong URL gets caught explicitly next time. Follow-up to rust-lang#152977. r? @notriddle
Const analysis cleanups Details in individual commits. r? @saethlin
…loop, r=saethlin Use a loop to avoid emitting long sequences of retags. See MCP [rust-lang#958](rust-lang/compiler-team#958) for context on `-Zcodegen-emit-retag`. If we need to retag an array of references, then we will retag every element of the array. This does not scale for large arrays. For example: ```rust const N: usize = 100_000; fn example(array: [&u32; N]) {} fn main() { example([&0; N]); } ``` This program will cause `rustc` to hang at `-O0` with `-Zcodegen-emit-retag`. In the body of `example`, we need to ensure that every element of `array` receives a function-entry retag, so we emit 100,000 retag function calls within a single basic block! This PR fixes this issue by adjusting how we retag the contents of arrays. Instead of retagging ever element in succession, we emit a loop that applies a single retag call to every element of the array. I have tested it on BorrowSanitizer's test suite. Also, I saw the new `#FIXME` comment about supporting `repr(simd)` types. Some of the changes that I made here will be helpful for fixing that issue in a subsequent PR. cc: @mojeanmac r? @saethlin
|
@bors r+ p=5 force |
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 cc9a14f (parent) -> 4d13b68 (this PR) Test differencesShow 4 test diffs4 doctest diffs were found. These are ignored, as they are noisy. Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 4d13b68badbf76e5c7831291e8fb324eabae2626 --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 |
|
Finished benchmarking commit (4d13b68): 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)This perf run didn't have relevant results for this metric. CyclesResults (primary -2.4%, secondary -1.3%)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.361s -> 488.486s (-0.18%) |
|
📌 Perf builds for each rolled up PR:
parent commit: cc9a14f721 In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: |
Successful merges:
r? @ghost
Create a similar rollup