Skip to content

Rollup of 16 pull requests - #146462

Closed
Zalathar wants to merge 44 commits into
rust-lang:masterfrom
Zalathar:rollup-qhce3w5
Closed

Rollup of 16 pull requests#146462
Zalathar wants to merge 44 commits into
rust-lang:masterfrom
Zalathar:rollup-qhce3w5

Conversation

@Zalathar

@ZalatharZalathar commented Sep 12, 2025

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

folkertdevand others added 30 commits September 3, 2025 00:19
This fixes
```
error: unused import: `str`
--> library/std/src/sys/pal/hermit/os.rs:6:22
|
6 | use crate::{fmt, io, str};
| ^^^
|
= note: `-D unused-imports` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(unused_imports)]`
```
This was caused by 845311a.
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Co-authored-by: Ralf Jung <post@ralfj.de>
These "you are using $RUSTC_VERSION" help messages were removed in
rust-lang#142943, but rust-lang#142681 started before that and
merged later, so its normalization is vestigial.
match clang's `va_arg` assembly on arm targets
tracking issue: rust-lang#44930
For this example
```rust
#![feature(c_variadic)]
#[unsafe(no_mangle)]
unsafe extern "C" fn variadic(a: f64, mut args: ...) -> f64 {
let b = args.arg::<f64>();
let c = args.arg::<f64>();
a + b + c
}
```
We currently generate (via llvm):
```asm
variadic:
sub sp, sp, rust-lang#12
stmib sp, {r2, r3}
vmov d0, r0, r1
add r0, sp, rust-lang#4
vldr d1, [sp, rust-lang#4]
add r0, r0, rust-lang#15
bic r0, r0, rust-lang#7
vadd.f64 d0, d0, d1
add r1, r0, rust-lang#8
str r1, [sp]
vldr d1, [r0]
vadd.f64 d0, d0, d1
vmov r0, r1, d0
add sp, sp, rust-lang#12
bx lr
```
LLVM is not doing a good job. In fact, it's well-known that LLVM's implementation of `va_arg` is kind of bad, and we implement it ourselves (based on clang) for many targets already. For arm, our own `emit_ptr_va_arg` saves 3 instructions.
Next, it turns out it's important for LLVM to explicitly start and end the lifetime of the `va_list`. In rust-lang#146059 I already end the lifetime, but when looking at this again, I noticed that it is important to also start it, see https://godbolt.org/z/EGqvKTTsK: failing to explicitly start the lifetime uses an extra register.
So, the combination of `emit_ptr_va_arg` with starting/ending the lifetime makes rustc emit exactly the instructions that clang generates::
```asm
variadic:
sub sp, sp, rust-lang#12
stmib sp, {r2, r3}
vmov d16, r0, r1
vldr d17, [sp, rust-lang#4]
vadd.f64 d16, d16, d17
vldr d17, [sp, rust-lang#12]
vadd.f64 d16, d16, d17
vmov r0, r1, d16
add sp, sp, rust-lang#12
bx lr
```
The arguments to `emit_ptr_va_arg` are based on [the clang implementation](https://github.com/llvm/llvm-project/blob/03dc2a41f3d9a500e47b513de5c5008c06860d65/clang/lib/CodeGen/Targets/ARM.cpp#L798-L844).
r? `@workingjubilee` (I can re-roll if your queue is too full, but you do seem like the right person here)
try-job: armhf-gnu
…,madsmtm,tmandry
initial implementation of the darwin_objc unstable feature
Tracking issue: rust-lang#145496
This feature makes it possible to reference Objective-C classes and selectors using the same ABI used by native Objective-C on Apple/Darwin platforms. Without it, Rust code interacting with Objective-C must resort to loading classes and selectors using costly string-based lookups at runtime. With it, these references can be loaded efficiently at dynamic load time.
r? ``@tmandry``
try-job: `*apple*`
test: remove an outdated normalization for rustc versions
These "you are using $RUSTC_VERSION" help messages were removed in
rust-lang#142943, but rust-lang#142681 started before that and
merged later, so its normalization is vestigial.
@rustbotrustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustdoc-search Area: Rustdoc's search feature A-tidy Area: The tidy tool O-apple Operating system: Apple / Darwin (macOS, iOS, tvOS, visionOS, watchOS) O-hermit Operating System: Hermit 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. rollup A PR which is a rollup labels Sep 12, 2025
@Zalathar

Copy link
Copy Markdown
MemberAuthor

@bors r+ rollup=never p=5

@bors

bors commented Sep 12, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit 111079b has been approved by Zalathar

It is now in the queue for this repository.

@borsbors 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 Sep 12, 2025
@bors

bors commented Sep 12, 2025

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 111079b with merge 987ea16...

bors added a commit that referenced this pull request Sep 12, 2025
Rollup of 16 pull requests
Successful merges:
- #144549 (match clang's `va_arg` assembly on arm targets)
- #145660 (initial implementation of the darwin_objc unstable feature)
- #145895 (thread parking: fix docs and examples)
- #146308 (support integer literals in `${concat()}`)
- #146323 (check before test for hardware capabilites in bits 32~63 of usize)
- #146332 (tidy: make behavior of extra-checks more uniform)
- #146374 (Update `browser-ui-test` version to `0.22.2`)
- #146413 (Improve suggestion in case a bare URL is surrounded by brackets)
- #146426 (Bump miow to 0.60.1)
- #146432 (Implement `Socket::take_error` for Hermit)
- #146433 (rwlock tests: fix miri macos test regression)
- #146435 (Change the default value of `gcc.download-ci-gcc` to `true`)
- #146439 (fix cfg for poison test macro)
- #146448 ([rustdoc] Correctly handle literal search on paths)
- #146449 (Fix `libgccjit` symlink when we build GCC locally)
- #146455 (test: remove an outdated normalization for rustc versions)
r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu-nopt failed! Check out the build log: (web)(plain enhanced)(plain)

Click to see the possible cause of the failure (guessed by this bot)

---- [codegen] tests/codegen-llvm/darwin-objc-abi-v1.rs#i686_apple_darwin stdout ----
------FileCheck stdout------------------------------
------FileCheck stderr------------------------------
/checkout/tests/codegen-llvm/darwin-objc-abi-v1.rs:91:11: error: CHECK: expected string not found in input
// CHECK: @get_class_again = unnamed_addr alias ptr (), ptr @get_class
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/darwin-objc-abi-v1.i686_apple_darwin/darwin-objc-abi-v1.ll:17:168: note: scanning from here
@OBJC_MODULES = private global %struct._objc_module { i32 7, i32 16, ptr @OBJC_CLASS_NAME_.8, ptr null }, section "__OBJC,__module_info,regular,no_dead_strip", align 4
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/darwin-objc-abi-v1.i686_apple_darwin/darwin-objc-abi-v1.ll:28:12: note: possible intended match here
define ptr @get_class_again() unnamed_addr #0 {
^
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/darwin-objc-abi-v1.i686_apple_darwin/darwin-objc-abi-v1.ll
Check file: /checkout/tests/codegen-llvm/darwin-objc-abi-v1.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: ; ModuleID = 'darwin_objc_abi_v1.e20e708e61252899-cgu.0' 2: source_filename = "darwin_objc_abi_v1.e20e708e61252899-cgu.0" 3: target datalayout = "e-m:o-p:32:32-p270:32:32-p271:32:32-p272:64:64-i128:128-f64:32:64-f80:128-n8:16:32-S128" 4: target triple = "i686-apple-macosx10.12.0" 5: 6: %struct._objc_module = type { i32, i32, ptr, ptr } 7: 8: @OBJC_CLASS_NAME_.0 = private unnamed_addr constant [8 x i8] c"MyClass\00", section "__TEXT,__cstring,cstring_literals", align 1 9: @OBJC_CLASS_REFERENCES_.1 = private global ptr @OBJC_CLASS_NAME_.0, section "__OBJC,__cls_refs,literal_pointers,no_dead_strip", align 4 10: @OBJC_METH_VAR_NAME_.2 = private unnamed_addr constant [9 x i8] c"myMethod\00", section "__TEXT,__cstring,cstring_literals", align 1 11: @OBJC_SELECTOR_REFERENCES_.3 = private externally_initialized global ptr @OBJC_METH_VAR_NAME_.2, section "__OBJC,__message_refs,literal_pointers,no_dead_strip", align 4 12: @OBJC_CLASS_NAME_.4 = private unnamed_addr constant [11 x i8] c"OtherClass\00", section "__TEXT,__cstring,cstring_literals", align 1 13: @OBJC_CLASS_REFERENCES_.5 = private global ptr @OBJC_CLASS_NAME_.4, section "__OBJC,__cls_refs,literal_pointers,no_dead_strip", align 4 14: @OBJC_METH_VAR_NAME_.6 = private unnamed_addr constant [12 x i8] c"otherMethod\00", section "__TEXT,__cstring,cstring_literals", align 1 15: @OBJC_SELECTOR_REFERENCES_.7 = private externally_initialized global ptr @OBJC_METH_VAR_NAME_.6, section "__OBJC,__message_refs,literal_pointers,no_dead_strip", align 4 16: @OBJC_CLASS_NAME_.8 = private unnamed_addr constant [1 x i8] zeroinitializer, section "__TEXT,__cstring,cstring_literals", align 1 17: @OBJC_MODULES = private global %struct._objc_module { i32 7, i32 16, ptr @OBJC_CLASS_NAME_.8, ptr null }, section "__OBJC,__module_info,regular,no_dead_strip", align 4 check:91'0 X error: no match found
18: @llvm.compiler.used = appending global [10 x ptr] [ptr @OBJC_CLASS_NAME_.0, ptr @OBJC_CLASS_REFERENCES_.1, ptr @OBJC_METH_VAR_NAME_.2, ptr @OBJC_SELECTOR_REFERENCES_.3, ptr @OBJC_CLASS_NAME_.4, ptr @OBJC_CLASS_REFERENCES_.5, ptr @OBJC_METH_VAR_NAME_.6, ptr @OBJC_SELECTOR_REFERENCES_.7, ptr @OBJC_CLASS_NAME_.8, ptr @OBJC_MODULES], section "llvm.metadata" check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19: check:91'0 ~
20: ; Function Attrs: nounwind uwtable check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21: define ptr @get_class() unnamed_addr #0 { check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22: start: check:91'0 ~~~~~~~
23: %_0 = load ptr, ptr @OBJC_CLASS_REFERENCES_.1, align 4 check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24: ret ptr %_0 check:91'0 ~~~~~~~~~~~~~
25: } check:91'0 ~~
26: check:91'0 ~
27: ; Function Attrs: nounwind uwtable check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28: define ptr @get_class_again() unnamed_addr #0 { check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:91'1 ? possible intended match
29: start: check:91'0 ~~~~~~~
30: %_0 = load ptr, ptr @OBJC_CLASS_REFERENCES_.1, align 4 check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31: ret ptr %_0 check:91'0 ~~~~~~~~~~~~~
32: } check:91'0 ~~
33: check:91'0 ~
34: ; Function Attrs: nounwind uwtable check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35: define ptr @get_selector() unnamed_addr #0 { check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36: start: check:91'0 ~~~~~~~
37: %_0 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_.3, align 4 check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38: ret ptr %_0 check:91'0 ~~~~~~~~~~~~~
39: } check:91'0 ~~
40: check:91'0 ~
41: ; Function Attrs: nounwind uwtable check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42: define ptr @get_selector_again() unnamed_addr #0 { check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
43: start: check:91'0 ~~~~~~~
44: %_0 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_.3, align 4 check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
45: ret ptr %_0 check:91'0 ~~~~~~~~~~~~~
46: } check:91'0 ~~
47: check:91'0 ~
48: ; Function Attrs: nounwind uwtable check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49: define ptr @get_other_class() unnamed_addr #0 { check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50: start: check:91'0 ~~~~~~~
51: %_0 = load ptr, ptr @OBJC_CLASS_REFERENCES_.5, align 4 check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52: ret ptr %_0 check:91'0 ~~~~~~~~~~~~~
53: } check:91'0 ~~
54: check:91'0 ~
55: ; Function Attrs: nounwind uwtable check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56: define ptr @get_other_selector() unnamed_addr #0 { check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57: start: check:91'0 ~~~~~~~
58: %_0 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_.7, align 4 check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59: ret ptr %_0 check:91'0 ~~~~~~~~~~~~~
60: } check:91'0 ~~
61: check:91'0 ~
62: attributes #0 = { nounwind uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="penryn" } check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
63: check:91'0 ~
64: !llvm.module.flags = !{!0, !1, !2, !3, !4} check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: !llvm.ident = !{!5} check:91'0 ~~~~~~~~~~~~~~~~~~~~
66: check:91'0 ~
67: !0 = !{i32 8, !"PIC Level", i32 2} check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68: !1 = !{i32 1, !"Objective-C Version", i32 1} check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: !2 = !{i32 1, !"Objective-C Image Info Version", i32 0} check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: !3 = !{i32 1, !"Objective-C Image Info Section", !"__OBJC,__image_info,regular"} check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71: !4 = !{i32 1, !"Objective-C Class Properties", i32 64} check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: !5 = !{!"rustc version 1.91.0-nightly (987ea163e 2025-09-12)"} check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>
------------------------------------------
error in revision `i686_apple_darwin`: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/darwin-objc-abi-v1.i686_apple_darwin/darwin-objc-abi-v1.ll" "/checkout/tests/codegen-llvm/darwin-objc-abi-v1.rs" "--check-prefix=CHECK" "--check-prefix" "i686_apple_darwin" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen-llvm/darwin-objc-abi-v1.rs:91:11: error: CHECK: expected string not found in input
// CHECK: @get_class_again = unnamed_addr alias ptr (), ptr @get_class
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/darwin-objc-abi-v1.i686_apple_darwin/darwin-objc-abi-v1.ll:17:168: note: scanning from here
@OBJC_MODULES = private global %struct._objc_module { i32 7, i32 16, ptr @OBJC_CLASS_NAME_.8, ptr null }, section "__OBJC,__module_info,regular,no_dead_strip", align 4
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/darwin-objc-abi-v1.i686_apple_darwin/darwin-objc-abi-v1.ll:28:12: note: possible intended match here
define ptr @get_class_again() unnamed_addr #0 {
^
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/darwin-objc-abi-v1.i686_apple_darwin/darwin-objc-abi-v1.ll
Check file: /checkout/tests/codegen-llvm/darwin-objc-abi-v1.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: ; ModuleID = 'darwin_objc_abi_v1.e20e708e61252899-cgu.0' 2: source_filename = "darwin_objc_abi_v1.e20e708e61252899-cgu.0" 3: target datalayout = "e-m:o-p:32:32-p270:32:32-p271:32:32-p272:64:64-i128:128-f64:32:64-f80:128-n8:16:32-S128" 4: target triple = "i686-apple-macosx10.12.0" 5: 6: %struct._objc_module = type { i32, i32, ptr, ptr } 7: 8: @OBJC_CLASS_NAME_.0 = private unnamed_addr constant [8 x i8] c"MyClass\00", section "__TEXT,__cstring,cstring_literals", align 1 9: @OBJC_CLASS_REFERENCES_.1 = private global ptr @OBJC_CLASS_NAME_.0, section "__OBJC,__cls_refs,literal_pointers,no_dead_strip", align 4 10: @OBJC_METH_VAR_NAME_.2 = private unnamed_addr constant [9 x i8] c"myMethod\00", section "__TEXT,__cstring,cstring_literals", align 1 11: @OBJC_SELECTOR_REFERENCES_.3 = private externally_initialized global ptr @OBJC_METH_VAR_NAME_.2, section "__OBJC,__message_refs,literal_pointers,no_dead_strip", align 4 12: @OBJC_CLASS_NAME_.4 = private unnamed_addr constant [11 x i8] c"OtherClass\00", section "__TEXT,__cstring,cstring_literals", align 1 13: @OBJC_CLASS_REFERENCES_.5 = private global ptr @OBJC_CLASS_NAME_.4, section "__OBJC,__cls_refs,literal_pointers,no_dead_strip", align 4 14: @OBJC_METH_VAR_NAME_.6 = private unnamed_addr constant [12 x i8] c"otherMethod\00", section "__TEXT,__cstring,cstring_literals", align 1 15: @OBJC_SELECTOR_REFERENCES_.7 = private externally_initialized global ptr @OBJC_METH_VAR_NAME_.6, section "__OBJC,__message_refs,literal_pointers,no_dead_strip", align 4 16: @OBJC_CLASS_NAME_.8 = private unnamed_addr constant [1 x i8] zeroinitializer, section "__TEXT,__cstring,cstring_literals", align 1 17: @OBJC_MODULES = private global %struct._objc_module { i32 7, i32 16, ptr @OBJC_CLASS_NAME_.8, ptr null }, section "__OBJC,__module_info,regular,no_dead_strip", align 4 check:91'0 X error: no match found
18: @llvm.compiler.used = appending global [10 x ptr] [ptr @OBJC_CLASS_NAME_.0, ptr @OBJC_CLASS_REFERENCES_.1, ptr @OBJC_METH_VAR_NAME_.2, ptr @OBJC_SELECTOR_REFERENCES_.3, ptr @OBJC_CLASS_NAME_.4, ptr @OBJC_CLASS_REFERENCES_.5, ptr @OBJC_METH_VAR_NAME_.6, ptr @OBJC_SELECTOR_REFERENCES_.7, ptr @OBJC_CLASS_NAME_.8, ptr @OBJC_MODULES], section "llvm.metadata" check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19: check:91'0 ~
20: ; Function Attrs: nounwind uwtable check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21: define ptr @get_class() unnamed_addr #0 { check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22: start: check:91'0 ~~~~~~~
23: %_0 = load ptr, ptr @OBJC_CLASS_REFERENCES_.1, align 4 check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24: ret ptr %_0 check:91'0 ~~~~~~~~~~~~~
25: } check:91'0 ~~
26: check:91'0 ~
27: ; Function Attrs: nounwind uwtable check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28: define ptr @get_class_again() unnamed_addr #0 { check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:91'1 ? possible intended match
29: start: check:91'0 ~~~~~~~
30: %_0 = load ptr, ptr @OBJC_CLASS_REFERENCES_.1, align 4 check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31: ret ptr %_0 check:91'0 ~~~~~~~~~~~~~
32: } check:91'0 ~~
33: check:91'0 ~
34: ; Function Attrs: nounwind uwtable check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35: define ptr @get_selector() unnamed_addr #0 { check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36: start: check:91'0 ~~~~~~~
37: %_0 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_.3, align 4 check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38: ret ptr %_0 check:91'0 ~~~~~~~~~~~~~
39: } check:91'0 ~~
40: check:91'0 ~
41: ; Function Attrs: nounwind uwtable check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42: define ptr @get_selector_again() unnamed_addr #0 { check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
43: start: check:91'0 ~~~~~~~
44: %_0 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_.3, align 4 check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
45: ret ptr %_0 check:91'0 ~~~~~~~~~~~~~
46: } check:91'0 ~~
47: check:91'0 ~
48: ; Function Attrs: nounwind uwtable check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49: define ptr @get_other_class() unnamed_addr #0 { check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50: start: check:91'0 ~~~~~~~
51: %_0 = load ptr, ptr @OBJC_CLASS_REFERENCES_.5, align 4 check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52: ret ptr %_0 check:91'0 ~~~~~~~~~~~~~
53: } check:91'0 ~~
54: check:91'0 ~
55: ; Function Attrs: nounwind uwtable check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56: define ptr @get_other_selector() unnamed_addr #0 { check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57: start: check:91'0 ~~~~~~~
58: %_0 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_.7, align 4 check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59: ret ptr %_0 check:91'0 ~~~~~~~~~~~~~
60: } check:91'0 ~~
61: check:91'0 ~
62: attributes #0 = { nounwind uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="penryn" } check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
63: check:91'0 ~
64: !llvm.module.flags = !{!0, !1, !2, !3, !4} check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: !llvm.ident = !{!5} check:91'0 ~~~~~~~~~~~~~~~~~~~~
66: check:91'0 ~
67: !0 = !{i32 8, !"PIC Level", i32 2} check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68: !1 = !{i32 1, !"Objective-C Version", i32 1} check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: !2 = !{i32 1, !"Objective-C Image Info Version", i32 0} check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: !3 = !{i32 1, !"Objective-C Image Info Section", !"__OBJC,__image_info,regular"} check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71: !4 = !{i32 1, !"Objective-C Class Properties", i32 64} check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: !5 = !{!"rustc version 1.91.0-nightly (987ea163e 2025-09-12)"} check:91'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>
------------------------------------------
---- [codegen] tests/codegen-llvm/darwin-objc-abi-v1.rs#i686_apple_darwin stdout end ----
---- [codegen] tests/codegen-llvm/darwin-objc-abi-v2.rs#aarch64_ios stdout ----
------FileCheck stdout------------------------------
------FileCheck stderr------------------------------
/checkout/tests/codegen-llvm/darwin-objc-abi-v2.rs:137:11: error: CHECK: expected string not found in input
// CHECK: @get_class_again = unnamed_addr alias ptr (), ptr @get_class
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/darwin-objc-abi-v2.aarch64_ios/darwin-objc-abi-v2.ll:15:170: note: scanning from here
@OBJC_SELECTOR_REFERENCES_.5 = internal externally_initialized global ptr @OBJC_METH_VAR_NAME_.4, section "__DATA,__objc_selrefs,literal_pointers,no_dead_strip", align 8
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/darwin-objc-abi-v2.aarch64_ios/darwin-objc-abi-v2.ll:26:12: note: possible intended match here
define ptr @get_class_again() unnamed_addr #0 {
^
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/darwin-objc-abi-v2.aarch64_ios/darwin-objc-abi-v2.ll
Check file: /checkout/tests/codegen-llvm/darwin-objc-abi-v2.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: ; ModuleID = 'darwin_objc_abi_v2.244f91e520c50d75-cgu.0' 2: source_filename = "darwin_objc_abi_v2.244f91e520c50d75-cgu.0" 3: target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32" 4: target triple = "arm64-apple-ios10.0.0" 5: 6: %struct._class_t = type { ptr, ptr, ptr, ptr, ptr } 7: 8: @"OBJC_CLASS_$_MyClass" = external global %struct._class_t 9: @"OBJC_CLASSLIST_REFERENCES_$_.0" = internal global ptr @"OBJC_CLASS_$_MyClass", section "__DATA,__objc_classrefs,regular,no_dead_strip", align 8 10: @OBJC_METH_VAR_NAME_.1 = private unnamed_addr constant [9 x i8] c"myMethod\00", section "__TEXT,__objc_methname,cstring_literals", align 1 11: @OBJC_SELECTOR_REFERENCES_.2 = internal externally_initialized global ptr @OBJC_METH_VAR_NAME_.1, section "__DATA,__objc_selrefs,literal_pointers,no_dead_strip", align 8 12: @"OBJC_CLASS_$_OtherClass" = external global %struct._class_t 13: @"OBJC_CLASSLIST_REFERENCES_$_.3" = internal global ptr @"OBJC_CLASS_$_OtherClass", section "__DATA,__objc_classrefs,regular,no_dead_strip", align 8 14: @OBJC_METH_VAR_NAME_.4 = private unnamed_addr constant [12 x i8] c"otherMethod\00", section "__TEXT,__objc_methname,cstring_literals", align 1 15: @OBJC_SELECTOR_REFERENCES_.5 = internal externally_initialized global ptr @OBJC_METH_VAR_NAME_.4, section "__DATA,__objc_selrefs,literal_pointers,no_dead_strip", align 8 check:137'0 X error: no match found
16: @llvm.compiler.used = appending global [6 x ptr] [ptr @"OBJC_CLASSLIST_REFERENCES_$_.0", ptr @OBJC_METH_VAR_NAME_.1, ptr @OBJC_SELECTOR_REFERENCES_.2, ptr @"OBJC_CLASSLIST_REFERENCES_$_.3", ptr @OBJC_METH_VAR_NAME_.4, ptr @OBJC_SELECTOR_REFERENCES_.5], section "llvm.metadata" check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17: check:137'0 ~
18: ; Function Attrs: nounwind uwtable check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19: define ptr @get_class() unnamed_addr #0 { check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20: start: check:137'0 ~~~~~~~
21: %_0 = load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_.0", align 8 check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22: ret ptr %_0 check:137'0 ~~~~~~~~~~~~~
23: } check:137'0 ~~
24: check:137'0 ~
25: ; Function Attrs: nounwind uwtable check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26: define ptr @get_class_again() unnamed_addr #0 { check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:137'1 ? possible intended match
27: start: check:137'0 ~~~~~~~
28: %_0 = load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_.0", align 8 check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29: ret ptr %_0 check:137'0 ~~~~~~~~~~~~~
30: } check:137'0 ~~
31: check:137'0 ~
32: ; Function Attrs: nounwind uwtable check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: define ptr @get_selector() unnamed_addr #0 { check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34: start: check:137'0 ~~~~~~~
35: %_0 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_.2, align 8 check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36: ret ptr %_0 check:137'0 ~~~~~~~~~~~~~
37: } check:137'0 ~~
38: check:137'0 ~
39: ; Function Attrs: nounwind uwtable check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40: define ptr @get_selector_again() unnamed_addr #0 { check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41: start: check:137'0 ~~~~~~~
42: %_0 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_.2, align 8 check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
43: ret ptr %_0 check:137'0 ~~~~~~~~~~~~~
44: } check:137'0 ~~
45: check:137'0 ~
46: ; Function Attrs: nounwind uwtable check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47: define ptr @get_other_class() unnamed_addr #0 { check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48: start: check:137'0 ~~~~~~~
49: %_0 = load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_.3", align 8 check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50: ret ptr %_0 check:137'0 ~~~~~~~~~~~~~
51: } check:137'0 ~~
52: check:137'0 ~
53: ; Function Attrs: nounwind uwtable check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54: define ptr @get_other_selector() unnamed_addr #0 { check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55: start: check:137'0 ~~~~~~~
56: %_0 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_.5, align 8 check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57: ret ptr %_0 check:137'0 ~~~~~~~~~~~~~
58: } check:137'0 ~~
59: check:137'0 ~
60: attributes #0 = { nounwind uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="apple-a7" "target-features"="+neon,+fp-armv8,+apple-a7" } check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61: check:137'0 ~
62: !llvm.module.flags = !{!0, !1, !2, !3, !4} check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
63: !llvm.ident = !{!5} check:137'0 ~~~~~~~~~~~~~~~~~~~~
64: check:137'0 ~
65: !0 = !{i32 8, !"PIC Level", i32 2} check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66: !1 = !{i32 1, !"Objective-C Version", i32 2} check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67: !2 = !{i32 1, !"Objective-C Image Info Version", i32 0} check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68: !3 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"} check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: !4 = !{i32 1, !"Objective-C Class Properties", i32 64} check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: !5 = !{!"rustc version 1.91.0-nightly (987ea163e 2025-09-12)"} check:137'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>
------------------------------------------
error in revision `aarch64_ios`: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/darwin-objc-abi-v2.aarch64_ios/darwin-objc-abi-v2.ll" "/checkout/tests/codegen-llvm/darwin-objc-abi-v2.rs" "--check-prefix=CHECK" "--check-prefix" "aarch64_ios" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen-llvm/darwin-objc-abi-v2.rs:137:11: error: CHECK: expected string not found in input
// CHECK: @get_class_again = unnamed_addr alias ptr (), ptr @get_class
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/darwin-objc-abi-v2.aarch64_ios/darwin-objc-abi-v2.ll:15:170: note: scanning from here
@OBJC_SELECTOR_REFERENCES_.5 = internal externally_initialized global ptr @OBJC_METH_VAR_NAME_.4, section "__DATA,__objc_selrefs,literal_pointers,no_dead_strip", align 8
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/darwin-objc-abi-v2.aarch64_ios/darwin-objc-abi-v2.ll:26:12: note: possible intended match here
define ptr @get_class_again() unnamed_addr #0 {
^
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/darwin-objc-abi-v2.aarch64_ios/darwin-objc-abi-v2.ll
Check file: /checkout/tests/codegen-llvm/darwin-objc-abi-v2.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: ; ModuleID = 'darwin_objc_abi_v2.244f91e520c50d75-cgu.0' 2: source_filename = "darwin_objc_abi_v2.244f91e520c50d75-cgu.0" 3: target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32" 4: target triple = "arm64-apple-ios10.0.0" 5: 6: %struct._class_t = type { ptr, ptr, ptr, ptr, ptr } 7: 8: @"OBJC_CLASS_$_MyClass" = external global %struct._class_t 9: @"OBJC_CLASSLIST_REFERENCES_$_.0" = internal global ptr @"OBJC_CLASS_$_MyClass", section "__DATA,__objc_classrefs,regular,no_dead_strip", align 8 10: @OBJC_METH_VAR_NAME_.1 = private unnamed_addr constant [9 x i8] c"myMethod\00", section "__TEXT,__objc_methname,cstring_literals", align 1 11: @OBJC_SELECTOR_REFERENCES_.2 = internal externally_initialized global ptr @OBJC_METH_VAR_NAME_.1, section "__DATA,__objc_selrefs,literal_pointers,no_dead_strip", align 8 12: @"OBJC_CLASS_$_OtherClass" = external global %struct._class_t 13: @"OBJC_CLASSLIST_REFERENCES_$_.3" = internal global ptr @"OBJC_CLASS_$_OtherClass", section "__DATA,__objc_classrefs,regular,no_dead_strip", align 8 14: @OBJC_METH_VAR_NAME_.4 = private unnamed_addr constant [12 x i8] c"otherMethod\00", section "__TEXT,__objc_methname,cstring_literals", align 1 15: @OBJC_SELECTOR_REFERENCES_.5 = internal externally_initialized global ptr @OBJC_METH_VAR_NAME_.4, section "__DATA,__objc_selrefs,literal_pointers,no_dead_strip", align 8 check:137'0 X error: no match found

@bors

bors commented Sep 12, 2025

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-actions

@borsbors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 12, 2025
@lqd

lqd commented Sep 12, 2025

Copy link
Copy Markdown
Member

Failure is from #145660

@ZalatharZalathar mentioned this pull request Sep 12, 2025
@rustbotrustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 12, 2025
@Zalathar
Zalathar deleted the rollup-qhce3w5 branch September 12, 2025 13:37
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-rustdoc-searchArea: Rustdoc's search featureA-tidyArea: The tidy toolO-appleOperating system: Apple / Darwin (macOS, iOS, tvOS, visionOS, watchOS)O-hermitOperating System: HermitrollupA PR which is a rollupT-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant 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.

17 participants

@Zalathar@bors@rust-log-analyzer@lqd@rustbot@folkertdev@RalfJung@cyrgani@h3fang@lolbinarycat@GuillaumeGomez@jbatez@dpaoliello@mkroening@Kobzol@connortsui20@cuviper