Skip to content

Rollup of 9 pull requests#155796

Merged
rust-bors[bot] merged 27 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-uKXw9ZB
Apr 26, 2026
Merged

Rollup of 9 pull requests#155796
rust-bors[bot] merged 27 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-uKXw9ZB

Conversation

@JonathanBrouwer
Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

Urgau and others added 27 commits April 18, 2026 15:54
Workgroup memory is a memory region that is shared between all
threads in a workgroup on GPUs. Workgroup memory can be allocated
statically or after compilation, when launching a gpu-kernel.
The intrinsic added here returns the pointer to the memory that is
allocated at launch-time.

# Interface

With this change, workgroup memory can be accessed in Rust by
calling the new `gpu_launch_sized_workgroup_mem<T>() -> *mut T`
intrinsic.

It returns the pointer to workgroup memory guaranteeing that it is
aligned to at least the alignment of `T`.
The pointer is dereferencable for the size specified when launching the
current gpu-kernel (which may be the size of `T` but can also be larger
or smaller or zero).

All calls to this intrinsic return a pointer to the same address.

See the intrinsic documentation for more details.

## Alternative Interfaces

It was also considered to expose dynamic workgroup memory as extern
static variables in Rust, like they are represented in LLVM IR.
However, due to the pointer not being guaranteed to be dereferencable
(that depends on the allocated size at runtime), such a global must be
zero-sized, which makes global variables a bad fit.

# Implementation Details

Workgroup memory in amdgpu and nvptx lives in address space 3.
Workgroup memory from a launch is implemented by creating an
external global variable in address space 3. The global is declared with
size 0, as the actual size is only known at runtime. It is defined
behavior in LLVM to access an external global outside the defined size.

There is no similar way to get the allocated size of launch-sized
workgroup memory on amdgpu an nvptx, so users have to pass this
out-of-band or rely on target specific ways for now.
…hanges

The test `tests/debuginfo/basic-stepping.rs` has a history of regressing
for subtle reasons, and has non-obvious expectations. So I'd like to
keep an extra eye on it.
…useZ4,Sa4dus,workingjubilee,RalfJung,nikic,kjetilkjeka,kulst

Add intrinsic for launch-sized workgroup memory on GPUs

Workgroup memory is a memory region that is shared between all
threads in a workgroup on GPUs. Workgroup memory can be allocated
statically or after compilation, when launching a gpu-kernel.
The intrinsic added here returns the pointer to the memory that is
allocated at launch-time.

# Interface

With this change, workgroup memory can be accessed in Rust by
calling the new `gpu_launch_sized_workgroup_mem<T>() -> *mut T`
intrinsic.

It returns the pointer to workgroup memory guaranteeing that it is
aligned to at least the alignment of `T`.
The pointer is dereferencable for the size specified when launching the
current gpu-kernel (which may be the size of `T` but can also be larger
or smaller or zero).

All calls to this intrinsic return a pointer to the same address.

See the intrinsic documentation for more details.

## Alternative Interfaces

It was also considered to expose dynamic workgroup memory as extern
static variables in Rust, like they are represented in LLVM IR.
However, due to the pointer not being guaranteed to be dereferencable
(that depends on the allocated size at runtime), such a global must be
zero-sized, which makes global variables a bad fit.

# Implementation Details

Workgroup memory in amdgpu and nvptx lives in address space 3.
Workgroup memory from a launch is implemented by creating an
external global variable in address space 3. The global is declared with
size 0, as the actual size is only known at runtime. It is defined
behavior in LLVM to access an external global outside the defined size.

There is no similar way to get the allocated size of launch-sized
workgroup memory on amdgpu an nvptx, so users have to pass this
out-of-band or rely on target specific ways for now.

Tracking issue: rust-lang#135516
…ttr-span, r=JonathanBrouwer

Fix ICE from cfg_attr_trace

Fixes rust-lang#154801
Fixes rust-lang#143094

r? @JonathanBrouwer

The root cause is we recovery from parsing attribute error here:
https://github.com/rust-lang/rust/blob/ed6f9af7d47f5a5eda2a4a1925d1e250b51a37f2/compiler/rustc_attr_parsing/src/parser.rs#L550
while the later suggestion code from type checking try to inspect the attr span of the `expr` in the second error, keep the span seems reasonable.
…, r=JonathanBrouwer

Error on invalid macho section specifier

The macho section specifier used by `#[link_section = "..."]` is more strict than e.g. the one for elf. LLVM will error when you get it wrong, which is easy to do if you're used to elf. So, provide some guidance for the simplest mistakes, based on the LLVM validation.

Currently compilation fails with an LLVM error, see https://godbolt.org/z/WoE8EdK1K.

The LLVM validation logic is at

https://github.com/llvm/llvm-project/blob/a0f0d6342e0cd75b7f41e0e6aae0944393b68a62/llvm/lib/MC/MCSectionMachO.cpp#L199-L203

LLVM validates the other components of the section specifier too, but it feels a bit fragile to duplicate those checks. If you get that far, hopefully the LLVM errors will be sufficient to get unstuck.

---

sidequest from rust-lang#147811

r? JonathanBrouwer

specifically, is this the right place for this sort of validation? `rustc_attr_parsing` also does some validation.
…laumeGomez

Add an edge-case test for `--remap-path-prefix` for `rustc` & `rustdoc`

Intended to resolve @lolbinarycat concern rust-lang#155307 (comment)
cleanup, restructure and merge `tests/ui/deriving` into `tests/ui/derives`

As a followup to rust-lang#155615, this PR deletes some outdated tests from these directories, splits up `ui/derives` into smaller directories to roughly group tests by the derive macros they use and moves over all tests from `ui/deriving` into `ui/derives`.
r? @Kivooeo
…uct, r=fee1-dead

 Reject implementing const Drop for types that are not const `Destruct` already

fixes rust-lang#155618

While there is no soundness or otherwise issue currently, this PR ensures that people get what they expect. It seems wrong to allow implementing `const Drop`, but then the type still can't be dropped at compile-time.

r? @fee1-dead
…thanBrouwer

Add a higher-level API for parsing attributes
triagebot.toml: Ping Enselic when tests/debuginfo/basic-stepping.rs changes

The test `tests/debuginfo/basic-stepping.rs` has a history of [regressing for subtle reasons](rust-lang#33013 (comment)) ([retroactively](rust-lang#144497)), and has [expected behavior](rust-lang#153941) that is [not obvious](rust-lang#155377). So I'd like to keep an extra eye one it.
…ggestions, r=JonathanBrouwer

Do not suggest internal cfg trace attributes

Fixes rust-lang#150566.
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Apr 25, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. labels Apr 25, 2026
@rustbot rustbot added A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-json Area: Rustdoc JSON backend A-tidy Area: The tidy tool S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Apr 25, 2026
@JonathanBrouwer
Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never p=5

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 25, 2026

📌 Commit 3b59d9d has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 25, 2026
@rust-bors

This comment has been minimized.

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Apr 26, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 26, 2026

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 7m 45s
Pushing 68ffae4 to main...

@rust-bors rust-bors Bot merged commit 68ffae4 into rust-lang:main Apr 26, 2026
12 checks passed
@rustbot rustbot added this to the 1.97.0 milestone Apr 26, 2026
@rust-timer
Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#146181 Add intrinsic for launch-sized workgroup memory on GPUs 63a26bc23ee662b50ff96fe1ec4ddfc016cc374c (link)
#154803 Fix ICE from cfg_attr_trace 34088d030cef60a7a6b0f550fd9cc9d020cc725b (link)
#155065 Error on invalid macho section specifier 1413bf723e92dea37378419c4943f9d0524f5857 (link)
#155485 Add an edge-case test for --remap-path-prefix for rustc b86553be8a3fb15a1cd162d0d587965aec643380 (link)
#155659 cleanup, restructure and merge tests/ui/deriving into `te… 2a46659d61b1835e5aee0bfe181e1c52721c7985 (link)
#155676 Reject implementing const Drop for types that are not cons… 3edbe6a06eed90e064b31bd573420303b9db4daa (link)
#155696 Add a higher-level API for parsing attributes 87d6a2d0a18174b0023e2bdf47b3321b73f0a566 (link)
#155769 triagebot.toml: Ping Enselic when tests/debuginfo/basic-ste… 0cc5efeb66681cb522f8a1dd0b9983c21c7db048 (link)
#155783 Do not suggest internal cfg trace attributes a74bdabfeaa13b550639c774a6958342d311c4de (link)

previous master: 9838411cb7

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@github-actions
Copy link
Copy Markdown
Contributor

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 9838411 (parent) -> 68ffae4 (this PR)

Test differences

Show 313 test diffs

Stage 1

  • [run-make] tests/run-make/remap-path-prefix-edge-cases: [missing] -> pass (J0)
  • [ui] tests/ui/derives/clone-copy/deriving-copyclone.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/clone-copy/duplicate-derive-copy-clone-diagnostics.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/coercepointee/coerce-pointee-bounds-issue-127647.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/coercepointee/deriving-coerce-pointee-expanded.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/coercepointee/deriving-coerce-pointee-neg.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/coercepointee/proc-macro-attribute-mixing.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/debug/derives-span-Debug.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/default/deriving-default-box.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/default/deriving-default-enum.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/default/multiple-defaults.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/derive-Debug-enum-variants.rs: pass -> [missing] (J0)
  • [ui] tests/ui/derives/derive-Debug-use-ufcs-tuple.rs: pass -> [missing] (J0)
  • [ui] tests/ui/derives/derive-debug-generic-with-lifetime.rs: pass -> [missing] (J0)
  • [ui] tests/ui/derives/derive-no-std.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/derives-span-Debug.rs: pass -> [missing] (J0)
  • [ui] tests/ui/derives/derives-span-Default.rs: pass -> [missing] (J0)
  • [ui] tests/ui/derives/derives-span-Eq.rs: pass -> [missing] (J0)
  • [ui] tests/ui/derives/derives-span-PartialOrd.rs: pass -> [missing] (J0)
  • [ui] tests/ui/derives/deriving-copyclone.rs: pass -> [missing] (J0)
  • [ui] tests/ui/derives/deriving-in-fn.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/eq-ord/derive-partial-ord-discriminant-64bit.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/eq-ord/derives-span-PartialEq.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/eq-ord/deriving-cmp-generic-enum.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/eq-ord/deriving-cmp-generic-struct.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/eq-ord/deriving-cmp-generic-tuple-struct.rs: [missing] -> pass (J0)
  • [ui] tests/ui/deriving/built-in-proc-macro-scope.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/coerce-pointee-bounds-issue-127647.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-cmp-generic-struct-enum.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-cmp-generic-struct.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-cmp-shortcircuit.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-default-box.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-enum-single-variant.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-from-wrong-target.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-from.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-hash.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-in-macro.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-meta-multiple.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-meta.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-self-lifetime-totalord-totaleq.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-via-extension-c-enum.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-via-extension-struct-empty.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/internal_eq_trait_method_impls.rs: pass -> [missing] (J0)
  • [ui] tests/ui/linkage-attr/link-section-macho.rs: [missing] -> pass (J0)
  • [codegen] tests/codegen-llvm/gpu-launch-sized-workgroup-memory.rs#nvptx-post-llvm-23: [missing] -> ignore (ignored when the LLVM version 22.1.1 is older than 23.0.0) (J4)

Stage 2

  • [codegen] tests/codegen-llvm/gpu-launch-sized-workgroup-memory.rs#nvptx-post-llvm-23: [missing] -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J1)
  • [ui] tests/ui/consts/drop-impl-nonconst-drop-field.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/clone-copy/derive-clone-basic.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/clone-copy/deriving-copyclone.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/clone-copy/duplicate-derive-copy-clone-diagnostics.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/clone-vector-element-size.rs: pass -> [missing] (J2)
  • [ui] tests/ui/derives/coercepointee/coerce-pointee-bounds-issue-127647.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/coercepointee/deriving-coerce-pointee.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/debug/derive-debug-2.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/debug/derive-debug.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/debug/nonsense-input-to-debug.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/default/deriving-default-box.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/derive-clone-basic.rs: pass -> [missing] (J2)
  • [ui] tests/ui/derives/derive-debug-generic-with-lifetime.rs: pass -> [missing] (J2)
  • [ui] tests/ui/derives/derive-debug-uninhabited-enum.rs: pass -> [missing] (J2)
  • [ui] tests/ui/derives/derive-eq-check-all-variants.rs: pass -> [missing] (J2)
  • [ui] tests/ui/derives/derive-partial-ord-discriminant.rs: pass -> [missing] (J2)
  • [ui] tests/ui/derives/derives-span-Clone.rs: pass -> [missing] (J2)
  • [ui] tests/ui/derives/derives-span-Debug.rs: pass -> [missing] (J2)
  • [ui] tests/ui/derives/derives-span-Default.rs: pass -> [missing] (J2)
  • [ui] tests/ui/derives/deriving-all-codegen.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/deriving-associated-types.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/deriving-copyclone.rs: pass -> [missing] (J2)
  • [ui] tests/ui/derives/deriving-in-fn.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/deriving-with-repr-packed-3.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/eq-ord/derive-partial-ord-discriminant.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/eq-ord/derive-partial-ord.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/eq-ord/derive-partialord-correctness.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/eq-ord/derives-span-Ord.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/eq-ord/deriving-cmp-generic-enum.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/eq-ord/deriving-cmp-shortcircuit.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/eq-ord/deriving-eq-ord-boxed-slice.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/eq-ord/do-not-suggest-calling-fn-in-derive-macro.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/eq-ord/internal_eq_trait_method_impls.rs: [missing] -> pass (J2)
  • [ui] tests/ui/derives/invalid-derive-comparison-34229.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/derive-partialord-correctness.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-cmp-generic-struct.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-copyclone.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-default-enum.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-eq-ord-boxed-slice.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-hash.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-in-macro.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-self-lifetime-totalord-totaleq.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-show-2.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-show.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-via-extension-c-enum.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-via-extension-enum.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-via-extension-hash-enum.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-via-extension-hash-struct.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-via-extension-type-params.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/deriving-with-repr-packed.rs: pass -> [missing] (J2)
  • [ui] tests/ui/deriving/do-not-suggest-calling-fn-in-derive-macro.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/attributes.rs: pass -> ignore (only executed when the operating system is linux) (J3)
  • [ui] tests/ui/linkage-attr/link-section-macho.rs: [missing] -> pass (J5)
  • [run-make] tests/run-make/remap-path-prefix-edge-cases: [missing] -> pass (J6)

(and 167 additional test diffs)

Additionally, 46 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 68ffae46b581747074413e4242ab0c6ecc4db4a9 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. x86_64-rust-for-linux: 55m 39s -> 39m 9s (-29.7%)
  2. x86_64-gnu-llvm-22-3: 2h 2m -> 1h 29m (-26.8%)
  3. x86_64-gnu-miri: 1h 33m -> 1h 10m (-25.2%)
  4. x86_64-gnu-llvm-22-2: 1h 39m -> 1h 15m (-23.6%)
  5. x86_64-gnu-llvm-21-1: 1h 14m -> 57m 4s (-23.4%)
  6. x86_64-gnu: 2h 25m -> 1h 53m (-21.7%)
  7. dist-x86_64-msvc-alt: 2h 45m -> 2h 11m (-20.4%)
  8. dist-apple-various: 1h 37m -> 1h 56m (+20.1%)
  9. x86_64-gnu-nopt: 2h 18m -> 1h 52m (-18.5%)
  10. pr-check-1: 32m 28s -> 26m 34s (-18.2%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-log-analyzer
Copy link
Copy Markdown
Collaborator

A job failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
  COMMIT_MESSAGE: cargo update 
##[endgroup]
Downloading single artifact
Preparing to download the following artifacts:
- Cargo-lock (ID: 6643686281, Size: 50367, Expected Digest: sha256:50232badb884b496fb46b1e5dd537f8420f1fd1c1c3621a0ee13719fa62d56a7)
Redirecting to blob download url: https://productionresultssa7.blob.core.windows.net/actions-results/6077da40-1955-4ca1-81c5-f29841a1459b/workflow-job-run-049245dd-f973-5aa2-9352-d4bac0dab3d8/artifacts/858175980ba8726bab9f963fd06060d5199d874bbd735e523e2d990d354f8c0b.zip
Starting download of artifact to: /home/runner/work/rust/rust
(node:2092) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
SHA256 digest of downloaded artifact is 50232badb884b496fb46b1e5dd537f8420f1fd1c1c3621a0ee13719fa62d56a7
Artifact download completed successfully.
Total of 1 artifact(s) downloaded
Download artifact has finished successfully
---
  COMMIT_MESSAGE: cargo update 
##[endgroup]
Downloading single artifact
Preparing to download the following artifacts:
- cargo-updates (ID: 6643686331, Size: 2886, Expected Digest: sha256:57f6a6c56000525d2c041b8531f005a52452129c22e6031e4b831e93f17f719c)
Redirecting to blob download url: https://productionresultssa7.blob.core.windows.net/actions-results/6077da40-1955-4ca1-81c5-f29841a1459b/workflow-job-run-049245dd-f973-5aa2-9352-d4bac0dab3d8/artifacts/ce9034d4568b3430f906da1368ae1cf3e14ef1542859eb2e8d635c0876371f53.zip
Starting download of artifact to: /home/runner/work/rust/rust
(node:2104) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
SHA256 digest of downloaded artifact is 57f6a6c56000525d2c041b8531f005a52452129c22e6031e4b831e93f17f719c
Artifact download completed successfully.
Total of 1 artifact(s) downloaded
Download artifact has finished successfully
##[group]Run echo "${COMMIT_MESSAGE}" > commit.txt
echo "${COMMIT_MESSAGE}" > commit.txt
cat cargo_update.log >> commit.txt

echo "${PR_MESSAGE}" > body.md
echo '```txt' >> body.md
cat cargo_update.log >> body.md
echo '```' >> body.md
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
---
dep-bumps
following is the output from `cargo update`:
  COMMIT_MESSAGE: cargo update 
##[endgroup]
##[group]Run git config user.name github-actions
git config user.name github-actions
git config user.email github-actions@github.com
git switch --force-create cargo_update
git add ./Cargo.lock ./library/Cargo.lock ./src/tools/rustbook/Cargo.lock
git commit --no-verify --file=commit.txt
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
---
dep-bumps
following is the output from `cargo update`:
  COMMIT_MESSAGE: cargo update 
##[endgroup]
remote: error: GH013: Repository rule violations found for refs/heads/cargo_update.        
remote: Review all repository rules at https://github.com/rust-lang/rust/rules?ref=refs%2Fheads%2Fcargo_update        
remote: 
remote: - Cannot update this protected ref.        
remote: 
remote: - Changes must be made through a pull request.        
remote: 
remote: - Cannot force-push to this branch        
remote: 
To https://github.com/rust-lang/rust
 ! [remote rejected]   cargo_update -> cargo_update (push declined due to repository rule violations)
error: failed to push some refs to 'https://github.com/rust-lang/rust'
##[error]Process completed with exit code 1.
Post job cleanup.

@rust-timer
Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (68ffae4): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.1% [-3.1%, -3.1%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (secondary 2.7%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
7.4% [6.2%, 8.1%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.3% [-6.6%, -2.0%] 2
All ❌✅ (primary) - - 0

Cycles

Results (secondary 6.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
6.1% [6.1%, 6.1%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 486.61s -> 488.457s (0.38%)
Artifact size: 394.05 MiB -> 393.89 MiB (-0.04%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-json Area: Rustdoc JSON backend A-tidy Area: The tidy tool merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.