Skip to content

Commit 07b5eee

Browse files
committedMar 5, 2025
Auto merge of rust-lang#138058 - jieyouxu:rollup-skdt0oz, r=jieyouxu
Rollup of 20 pull requests Successful merges: - rust-lang#134063 (dec2flt: Clean up float parsing modules) - rust-lang#136581 (Retire the legacy `Makefile`-based `run-make` test infra) - rust-lang#136662 (Count char width at most once in `Formatter::pad`) - rust-lang#136764 (Make `ptr_cast_add_auto_to_object` lint into hard error) - rust-lang#136798 (Added documentation for flushing per rust-lang#74348) - rust-lang#136865 (Perform deeper compiletest path normalization for `$TEST_BUILD_DIR` to account for compare-mode/debugger cases, and normalize long type file filename hashes) - rust-lang#136975 (Look for `python3` first on MacOS, not `py`) - rust-lang#136977 (Upload Datadog metrics with citool) - rust-lang#137240 (Slightly reformat `std::fs::remove_dir_all` error docs) - rust-lang#137298 (Check signature WF when lowering MIR body) - rust-lang#137463 ([illumos] attempt to use posix_spawn to spawn processes) - rust-lang#137477 (uefi: Add Service Binding Protocol abstraction) - rust-lang#137569 (Stabilize `string_extend_from_within`) - rust-lang#137633 (Only use implied bounds hack if bevy, and use deeply normalize in implied bounds hack) - rust-lang#137679 (Various coretests improvements) - rust-lang#137723 (Make `rust.description` more general-purpose and pass `CFG_VER_DESCRIPTION`) - rust-lang#137728 (Remove unsizing coercions for tuples) - rust-lang#137731 (Resume one waiter at once in deadlock handler) - rust-lang#137875 (mir_build: Integrate "simplification" steps into match-pair-tree creation) - rust-lang#138028 (compiler: add `ExternAbi::is_rustic_abi`) r? `@ghost` `@rustbot` modify labels: rollup
2 parents 4559163 + fe4c085 commit 07b5eee

File tree

254 files changed

+2860
-8349
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

254 files changed

+2860
-8349
lines changed
 

‎.github/workflows/ci.yml

+5-9
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ jobs:
5858
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
5959
run: |
6060
cd src/ci/citool
61-
cargo test
62-
cargo run calculate-job-matrix >> $GITHUB_OUTPUT
61+
CARGO_INCREMENTAL=0 cargo test
62+
CARGO_INCREMENTAL=0 cargo run calculate-job-matrix >> $GITHUB_OUTPUT
6363
id: jobs
6464
job:
6565
name: ${{ matrix.full_name }}
@@ -183,11 +183,11 @@ jobs:
183183
run: src/ci/scripts/dump-environment.sh
184184

185185
# Pre-build citool before the following step uninstalls rustup
186-
# Build is into the build directory, to avoid modifying sources
186+
# Build it into the build directory, to avoid modifying sources
187187
- name: build citool
188188
run: |
189189
cd src/ci/citool
190-
CARGO_TARGET_DIR=../../../build/citool cargo build
190+
CARGO_INCREMENTAL=0 CARGO_TARGET_DIR=../../../build/citool cargo build
191191
192192
- name: run the build
193193
# Redirect stderr to stdout to avoid reordering the two streams in the GHA logs.
@@ -238,13 +238,9 @@ jobs:
238238
- name: upload job metrics to DataDog
239239
if: needs.calculate_matrix.outputs.run_type != 'pr'
240240
env:
241-
DATADOG_SITE: datadoghq.com
242241
DATADOG_API_KEY: ${{ secrets.DATADOG_API_KEY }}
243242
DD_GITHUB_JOB_NAME: ${{ matrix.full_name }}
244-
run: |
245-
cd src/ci
246-
npm ci
247-
python3 scripts/upload-build-metrics.py ../../build/cpu-usage.csv
243+
run: ./build/citool/debug/citool upload-build-metrics build/cpu-usage.csv
248244

249245
# This job isused to tell bors the final status of the build, as there is no practical way to detect
250246
# when a workflow is successful listening to webhooks only in our current bors implementation (homu).

‎compiler/rustc_abi/src/extern_abi.rs

+11
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,17 @@ impl StableOrd for ExternAbi {
191191
}
192192

193193
impl ExternAbi {
194+
/// An ABI "like Rust"
195+
///
196+
/// These ABIs are fully controlled by the Rust compiler, which means they
197+
/// - support unwinding with `-Cpanic=unwind`, unlike `extern "C"`
198+
/// - often diverge from the C ABI
199+
/// - are subject to change between compiler versions
200+
pub fn is_rustic_abi(self) -> bool {
201+
use ExternAbi::*;
202+
matches!(self, Rust | RustCall | RustIntrinsic | RustCold)
203+
}
204+
194205
pub fn supports_varargs(self) -> bool {
195206
// * C and Cdecl obviously support varargs.
196207
// * C can be based on Aapcs, SysV64 or Win64, so they must support varargs.

0 commit comments

Comments
 (0)