Rollup of 8 pull requests#153430
Conversation
The unstable features of the `test` crate used to be default-enabled, and manually disabled when building the beta and stable channels. Commit dae8ea9 flipped that to default-disabled, only enabled for nightly and dev channels. However, this broke miri testing on the beta/stable channels, because it also uses unstable features -- which should be fine to enable just for its own sysroot build. Now the `test` build script makes that happen by noticing the `MIRI_CALLED_FROM_SETUP` environment variable.
The comment on `is_horizontal_whitespace` says "This is Pattern_White_Space", but the function matches only tab (U+0009) and space (U+0020) -- two of the eleven `Pattern_White_Space` code points. This has been the case since Rust PR 146106, which narrowed the set from full `Pattern_White_Space` to the horizontal subset. The correct characterization is that this is the horizontal space subset of `Pattern_White_Space`, as categorized by UAX 31, Section 4.1, which partitions `Pattern_White_Space` into line endings, ignorable format controls, and horizontal space.
There are three query vtable functions related to the `cache_on_disk_if` modifier: - `will_cache_on_disk_for_key_fn` - `try_load_from_disk_fn` - `is_loadable_from_disk_fn` These are all function ptrs within an `Option`. They each have a wrapper that returns `false`/`None` if the function ptr is missing. This commit removes the `Option` wrappers. In the `None` case we now set the function ptr to a trivial closure that returns `false`/`None`. The commit also removes some typedefs that each have a single use. All this is a bit simpler, with less indirection. Note that `QueryVTable::hash_value_fn` is still an `Option`. Unlike the above three functions, which have trivial behaviour in the `None` case, `hash_value_fn` is used in ways where the `Some`/`None` distinction is more meaningful.
It's just a wrapper for `DepNode::construct` and it only has three uses. Better to just have one way of doing things.
The build script here wants to sniff for `-stdlib=libc++` but was missing the leading dashes. We caught this on the Rust/LLVM HEADs builder which also uses libc++.
…tack-true, r=WaffleLapkin
enable `PassMode::Indirect { on_stack: true, .. }` tail call arguments
tracking issue: rust-lang#112788
fixes rust-lang#144855
And add a bunch of tests for tail call target support.
r? WaffleLapkin
library/test: always enable unstable features for miri The unstable features of the `test` crate used to be default-enabled, and manually disabled when building the beta and stable channels. Commit dae8ea9 flipped that to default-disabled, only enabled for nightly and dev channels. However, this broke miri testing on the beta/stable channels, because it also uses unstable features -- which should be fine to enable just for its own sysroot build. Now the `test` build script makes that happen by noticing the `MIRI_CALLED_FROM_SETUP` environment variable.
…seZ4 Properly pass offload sizes to kernel args This PRs prevents offload from creating an unnecessary alloca when all the arg sizes are static. I'll implement the first dynamic-size data type in a follow up PR (slice support). r? @ZuseZ4
…=Zalathar Remove `impl QueryVTable` Some simplifications to `QueryVTable`, partly extracted from rust-lang#153065. r? @Zalathar
…tespace-comment, r=Kivooeo,epage Fix comment on `is_horizontal_whitespace` The comment on `is_horizontal_whitespace` says "This is Pattern_White_Space", but the function matches only tab (U+0009) and space (U+0020) -- two of the eleven `Pattern_White_Space` code points. This has been the case since rust-lang#146106, which narrowed the set from full `Pattern_White_Space` to the horizontal subset. The correct characterization is that this is the horizontal space subset of `Pattern_White_Space`, as categorized by UAX 31, Section 4.1, which partitions `Pattern_White_Space` into line endings, ignorable format controls, and horizontal space. r? fee1-dead (reviewer on rust-lang#146106) cc @ehuss @epage
…t-syntax-error, r=dingxiangfei2009 fix(thir): Include `NoneWithError` in Enum Struct Tail Assertion ### Summary: Fixes the ICE triggered when a syntax error appears inside an enum variant struct literal. PR rust-lang#153227 added `StructTailExpr::NoneWithError` and updated the `match base` arm in the `AdtKind::Enum` branch of `thir/cx/expr.rs`, but overlooked the `assert!(matches!(...))` guard preceding it, which still only listed `None | DefaultFields(_)`. Closes rust-lang#153390 r? @dingxiangfei2009 cc @matthiaskrgr
rustc_llvm: add missing `-` to flag-comparison logic The build script here wants to sniff for `-stdlib=libc++` but was missing the leading dashes. We caught this on the Rust/LLVM HEADs builder which also uses libc++.
Update dispatch2 to v0.3.1 rustc can fail to link on older versions of macOS, owing to versions of its transitive dependency [dispatch2] (via [ctrlc]) prior to v0.3.1. Fixes rust-lang#151573 r? madsmtm [ctrlc]: https://crates.io/crates/ctrlc [dispatch2]: https://crates.io/crates/dispatch2
|
@bors r+ rollup=never p=5 |
|
Trying commonly failed jobs |
This comment has been minimized.
This comment has been minimized.
Rollup of 8 pull requests try-job: test-various try-job: x86_64-gnu-aux try-job: x86_64-gnu-llvm-21-3 try-job: x86_64-msvc-1 try-job: aarch64-apple try-job: x86_64-mingw-1
|
💔 Test for f670790 failed: CI. Failed job:
|
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
Spurious |
This comment has been minimized.
This comment has been minimized.
|
📌 Perf builds for each rolled up PR:
previous master: f8704be04f In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
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 f8704be (parent) -> 70d86e3 (this PR) Test differencesShow 366 test diffsStage 1
Stage 2
(and 264 additional test diffs) Additionally, 2 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 70d86e3abeecf3a655264d9a716c5d08160176b7 --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 (70d86e3): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (primary -2.7%, secondary 0.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -2.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 480.998s -> 480.787s (-0.04%) |
Successful merges:
PassMode::Indirect { on_stack: true, .. }tail call arguments #153361 (enablePassMode::Indirect { on_stack: true, .. }tail call arguments)impl QueryVTable#153323 (Removeimpl QueryVTable)is_horizontal_whitespace#153385 (Fix comment onis_horizontal_whitespace)NoneWithErrorin Enum Struct Tail Assertion #153394 (fix(thir): IncludeNoneWithErrorin Enum Struct Tail Assertion)-to flag-comparison logic #153419 (rustc_llvm: add missing-to flag-comparison logic)r? @ghost
Create a similar rollup