Skip to content

Rollup of 8 pull requests - #165018

Closed
tgross35 wants to merge 19 commits into
rust-lang:mainfrom
tgross35:rollup-PR29URJ
Closed

tgross35 wants to merge 19 commits into
rust-lang:mainfrom
tgross35:rollup-PR29URJ

Conversation

@tgross35

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

jackh726 and others added 19 commits October 13, 2026 07:53
This avoids the unsoundness-hazard of using `&'ll mut` to represent an owning
pointer that typically does not live for as long as its enclosing context.
The SimpleCx type contains references tied to the lifetime of the LLVM context,
but the SimpleCx itself has a shorter lifetime.
This commit changes the type of LLVM context references from `&'ll Context` to
a dedicated newtype struct `Context<'ll>` with an invariant lifetime brand.

The current usage of `&'ll Context` is not sound, because covariance in `'ll`
allows different contexts to be mixed in ways that the underlying bindings are
not prepared to handle.

(Most of the time, mixing contexts is unlikely to happen by accident, but
switching to a more-sound API is good maintenance hygiene for these complex
bindings.)
Lex and parse emoji in lifetimes, and disallow them in the parser with a hard error. Allow emoji to start a lifetime name even if they are not XID_Start.

```
error: lifetimes cannot contain emoji
  --> $DIR/emoji-in-lifetime.rs:1:22
   |
LL | fn bad_lifetime_name<'🐛🐛🐛family👨👩👧👦>(
   |                      ^^^^^^^^^^^^^^^^^^^^^
```

Unify lifetime and identifier parsing. Use `bad_unicode_identifiers` for lifetimes.
During work on PR 164772 [1], I've noticed another tiny inconsistency
in doc code examples: `HashMap`'s `Entry::insert_entry()`'s
doc code example did not have an assertion where `BTreeMap`'s
`Entry::insert_entry()`'s docs did.

I've added an assertion where it was missing.

[1] rust-lang#164772
This function is documented as allowed to continue, which is useful
behavior during const eval. Split a new `resumable_breakpoint` intrinsic
from `breakpoint` which has the behavior of continuing in Miri and CTFE.
…s-tests, r=lqd

Add tests for unsoundness involving alias liveness

This adds a number of tests demonstrating unsoundness with alias liveness (some on stable w/ NLL, some only with Polonius Alpha).

This reopens rust-lang#153215. See tests/ui/borrowck/alias-liveness/projection-hide-one-bound-153215.rs.

This adds tests for rust-lang#160979, rust-lang#161038, rust-lang#151861, and rust-lang#163886.

r? lqd
…tes, r=Mark-Simulacrum

core: Constify `resumable_breakpoint` and re-export it in `std`

This function is documented as allowed to continue, which is useful
behavior during const eval. Split a new `resumable_breakpoint` intrinsic
from `breakpoint` which has the behavior of continuing in Miri and CTFE.
cg_llvm: Use an invariant lifetime brand for LLVM contexts

This PR changes the type of LLVM context references from `&'ll Context` to `&'ll Context<'ll>`, introducing an invariant lifetime brand.

The current usage of `&'ll Context` is not sound, because covariance in `'ll` allows different contexts to be mixed in ways that the underlying bindings are not prepared to handle.

(Most of the time, mixing contexts is unlikely to happen by accident, but switching to a more-sound API is good maintenance hygiene for these complex bindings.)

In most code there is no practical difference between `&'ll Context<'ll>` and `&Context<'ll>`, but when storing the context in structures (e.g. SCx) it is helpful to be able to avoid an extra lifetime.

---

A big chunk of the migration was done via a regex replace of `Context` with `Context<'ll>`, and then manually chasing down any resultant/remaining errors. I have tried to manually check each of the changes multiple times, forwards and backwards, but this is a pretty tedious process so hopefully I did catch everything that shouldn't be there.

I intend to migrate various other related types as well, but just Context on its own is quite a lot to review already.

There should be no change to compiler output.
x86-64-linux-gnu seems to have working f128 now

There was some progress in llvm/llvm-project#44744 that seems to have helped.
At least, I can compile and run Miri's `tests/pass/float.rs` on my system successfully. Let's see what CI says.
…lmann,Veykril

Lex lifetimes as identifiers, recover from emoji and emit appropriate error

Lex and parse emoji in lifetimes by using the identifier logic, and disallow them in the parser with a hard error. Allow emoji to start a lifetime name even if they are not XID_Start.

```
error: identifiers cannot contain emoji: `'🐛🐛🐛family👨👩👧👦`
  --> $DIR/emoji-in-lifetime.rs:1:22
   |
LL | fn bad_lifetime_name<'🐛🐛🐛family👨👩👧👦>(
   |                      ^^^^^^^^^^^^^^^^^^^^^
```

Address rust-lang#141081 (but we could provide more information in the diagnostic, pointing at the specific chars, providing a link to the reference on identifiers and/or some other extra information).
…r=mejrs

Disable recovery when attribute parser shouldn't emit

Removes some duplicate diagnostics.

r? @mejrs
…aapoalas

docs: Nitpick change in `HashMap`'s `.insert_entry()` doc example

During work on PR 164772 [1], I've noticed another tiny inconsistency in doc code examples: `HashMap`'s `Entry::insert_entry()`'s doc code example did not have an assertion where `BTreeMap`'s `Entry::insert_entry()`'s docs did.

I've added an assertion where it was missing.

[1] rust-lang#164772
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Oct 27, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. F-autodiff `#![feature(autodiff)]` S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. 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-rust-analyzer Relevant to the rust-analyzer team, which will review and decide on the PR/issue. labels Oct 27, 2026
@tgross35

Copy link
Copy Markdown
Member Author

Mostly recreated from #165014

@bors r+ rollup=never p=5 force

@rust-bors

rust-bors Bot commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

📌 Commit c4a7923 has been approved by tgross35

It is now in the queue for this repository.

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

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Oct 27, 2026
Rollup of 8 pull requests

Successful merges:

 - #164168 (Add tests for unsoundness involving alias liveness)
 - #164608 (core: Constify `resumable_breakpoint` and re-export it in `std`)
 - #164787 (cg_llvm: Use an invariant lifetime brand for LLVM contexts )
 - #164851 (Add behavior tests for `Arc` and `Rc`)
 - #164966 (x86-64-linux-gnu seems to have working f128 now)
 - #153893 (Lex lifetimes as identifiers, recover from emoji and emit appropriate error)
 - #164895 (Disable recovery when attribute parser shouldn't emit)
 - #165004 (docs: Nitpick change in `HashMap`'s `.insert_entry()` doc example)
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-x86_64-gnu-llvm-22-3 failed! Check out the build log: (web) (plain enhanced) (plain)

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

---- [assembly] tests/assembly-llvm/x86_64-rc-arc.rs stdout ----
------FileCheck stdout------------------------------

------FileCheck stderr------------------------------
/checkout/tests/assembly-llvm/x86_64-rc-arc.rs:24:15: error: CHECK-DAG: expected string not found in input
// CHECK-DAG: mov edi, 8
              ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/x86_64-rc-arc/x86_64-rc-arc.s:76:9: note: scanning from here
.LBB2_2:
        ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/x86_64-rc-arc/x86_64-rc-arc.s:78:2: note: possible intended match here
 mov edi, 24
 ^
/checkout/tests/assembly-llvm/x86_64-rc-arc.rs:74:16: error: CHECK-NEXT: is not on the line after the previous match
// CHECK-NEXT: ret
               ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/x86_64-rc-arc/x86_64-rc-arc.s:150:2: note: 'next' match was here
 ret
 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/x86_64-rc-arc/x86_64-rc-arc.s:147:12: note: previous match ended here
 je .LBB6_3
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/x86_64-rc-arc/x86_64-rc-arc.s:148:1: note: non-matching line after previous match is here
 cmp rax, -1
^
/checkout/tests/assembly-llvm/x86_64-rc-arc.rs:113:15: error: CHECK-DAG: expected string not found in input
// CHECK-DAG: mov edi, 8
              ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/x86_64-rc-arc/x86_64-rc-arc.s:209:9: note: scanning from here
.LBB8_2:
        ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/x86_64-rc-arc/x86_64-rc-arc.s:211:2: note: possible intended match here
 mov edi, 24
 ^
/checkout/tests/assembly-llvm/x86_64-rc-arc.rs:148:16: error: CHECK-NEXT: is not on the line after the previous match
// CHECK-NEXT: mov rdi, rsp
               ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/x86_64-rc-arc/x86_64-rc-arc.s:261:2: note: 'next' match was here
 mov rdi, rsp
 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/x86_64-rc-arc/x86_64-rc-arc.s:258:13: note: previous match ended here
 #MEMBARRIER
            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/x86_64-rc-arc/x86_64-rc-arc.s:259:1: note: non-matching line after previous match is here
 cmp rdi, qword ptr [rip + _RNvNtNtCs4uVXAxh2rG6_5alloc3rcs3arc18STATIC_INNER_SLICE@GOTPCREL]
^
/checkout/tests/assembly-llvm/x86_64-rc-arc.rs:174:16: error: CHECK-NEXT: is not on the line after the previous match
// CHECK-NEXT: pop rax
               ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/x86_64-rc-arc/x86_64-rc-arc.s:303:2: note: 'next' match was here
 pop rax
 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/x86_64-rc-arc/x86_64-rc-arc.s:300:14: note: previous match ended here
 jne .LBB12_2
             ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/x86_64-rc-arc/x86_64-rc-arc.s:301:1: note: non-matching line after previous match is here
 cmp rcx, -1
^

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/x86_64-rc-arc/x86_64-rc-arc.s
Check file: /checkout/tests/assembly-llvm/x86_64-rc-arc.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
           1:  .intel_syntax noprefix 
           2:  .file "x86_64_rc_arc.484858591d8b1404-cgu.0" 
           3:  .section .text._RNvMs6_NtNtCs4uVXAxh2rG6_5alloc3rcs2rcINtB5_2RcjE9drop_slowCs6cL1XiQFZ0m_13x86_64_rc_arc,"ax",@progbits 
           4:  .globl _RNvMs6_NtNtCs4uVXAxh2rG6_5alloc3rcs2rcINtB5_2RcjE9drop_slowCs6cL1XiQFZ0m_13x86_64_rc_arc 
           5:  .p2align 4 
           6:  .type _RNvMs6_NtNtCs4uVXAxh2rG6_5alloc3rcs2rcINtB5_2RcjE9drop_slowCs6cL1XiQFZ0m_13x86_64_rc_arc,@function 
           7: _RNvMs6_NtNtCs4uVXAxh2rG6_5alloc3rcs2rcINtB5_2RcjE9drop_slowCs6cL1XiQFZ0m_13x86_64_rc_arc: 
           8:  .cfi_startproc 
           9:  mov rdi, qword ptr [rdi] 
          10:  cmp rdi, -1 
          11:  je .LBB0_2 
          12:  dec qword ptr [rdi + 8] 
          13:  je .LBB0_3 
          14: .LBB0_2: 
          15:  ret 
          16: .LBB0_3: 
          17:  mov esi, 24 
          18:  mov edx, 8 
          19:  jmp qword ptr [rip + _RNvCshZz7ooBqPwX_7___rustc14___rust_dealloc@GOTPCREL] 
          20: .Lfunc_end0: 
          21:  .size _RNvMs6_NtNtCs4uVXAxh2rG6_5alloc3rcs2rcINtB5_2RcjE9drop_slowCs6cL1XiQFZ0m_13x86_64_rc_arc, .Lfunc_end0-_RNvMs6_NtNtCs4uVXAxh2rG6_5alloc3rcs2rcINtB5_2RcjE9drop_slowCs6cL1XiQFZ0m_13x86_64_rc_arc 
          22:  .cfi_endproc 
          23:  
          24:  .section .text._RNvMsn_NtNtCs4uVXAxh2rG6_5alloc3rcs3arcINtB5_3ArcjE9drop_slowCs6cL1XiQFZ0m_13x86_64_rc_arc,"ax",@progbits 
          25:  .globl _RNvMsn_NtNtCs4uVXAxh2rG6_5alloc3rcs3arcINtB5_3ArcjE9drop_slowCs6cL1XiQFZ0m_13x86_64_rc_arc 
          26:  .p2align 4 
          27:  .type _RNvMsn_NtNtCs4uVXAxh2rG6_5alloc3rcs3arcINtB5_3ArcjE9drop_slowCs6cL1XiQFZ0m_13x86_64_rc_arc,@function 
          28: _RNvMsn_NtNtCs4uVXAxh2rG6_5alloc3rcs3arcINtB5_3ArcjE9drop_slowCs6cL1XiQFZ0m_13x86_64_rc_arc: 
          29:  .cfi_startproc 
          30:  mov rdi, qword ptr [rdi] 
          31:  cmp rdi, -1 
          32:  je .LBB1_4 
          33:  lock dec qword ptr [rdi + 8] 
          34:  jne .LBB1_4 
          35:  #MEMBARRIER 
          36:  cmp rdi, qword ptr [rip + _RNvNtNtCs4uVXAxh2rG6_5alloc3rcs3arc18STATIC_INNER_SLICE@GOTPCREL] 
          37:  je .LBB1_3 
          38:  mov esi, 24 
          39:  mov edx, 8 
          40:  jmp qword ptr [rip + _RNvCshZz7ooBqPwX_7___rustc14___rust_dealloc@GOTPCREL] 
          41: .LBB1_4: 
          42:  ret 
          43: .LBB1_3: 
          44:  push rax 
          45:  .cfi_def_cfa_offset 16 
          46:  lea rsi, [rip + .Lanon.df893871a94291aab72eeff81fe85739.9] 
          47:  lea rdx, [rip + .Lanon.df893871a94291aab72eeff81fe85739.10] 
          48:  mov edi, 255 
          49:  call qword ptr [rip + _RNvNtCskqAJWPXfeuw_4core9panicking9panic_fmt@GOTPCREL] 
          50: .Lfunc_end1: 
          51:  .size _RNvMsn_NtNtCs4uVXAxh2rG6_5alloc3rcs3arcINtB5_3ArcjE9drop_slowCs6cL1XiQFZ0m_13x86_64_rc_arc, .Lfunc_end1-_RNvMsn_NtNtCs4uVXAxh2rG6_5alloc3rcs3arcINtB5_3ArcjE9drop_slowCs6cL1XiQFZ0m_13x86_64_rc_arc 
          52:  .cfi_endproc 
          53:  
          54:  .section .text.rc_new,"ax",@progbits 
          55:  .globl rc_new 
          56:  .p2align 4 
          57:  .type rc_new,@function 
          58: rc_new: 
          59:  .cfi_startproc 
          60:  push rbx 
          61:  .cfi_def_cfa_offset 16 
          62:  .cfi_offset rbx, -16 
          63:  mov rbx, rdi 
          64:  call qword ptr [rip + _RNvCshZz7ooBqPwX_7___rustc35___rust_no_alloc_shim_is_unstable_v2@GOTPCREL] 
          65:  mov edi, 24 
          66:  mov esi, 8 
          67:  call qword ptr [rip + _RNvCshZz7ooBqPwX_7___rustc12___rust_alloc@GOTPCREL] 
          68:  test rax, rax 
          69:  je .LBB2_2 
          70:  mov qword ptr [rax], 1 
          71:  mov qword ptr [rax + 8], 1 
          72:  mov qword ptr [rax + 16], rbx 
          73:  pop rbx 
          74:  .cfi_def_cfa_offset 8 
          75:  ret 
          76: .LBB2_2: 
dag:24'0              X error: no match found
          77:  .cfi_def_cfa_offset 16 
dag:24'0      ~~~~~~~~~~~~~~~~~~~~~~~~
          78:  mov edi, 24 
dag:24'0      ~~~~~~~~~~~~~
dag:24'1       ?            possible intended match
          79:  mov esi, 8 
dag:24'0      ~~~~~~~~~~~~
          80:  call qword ptr [rip + _RNvNtCs4uVXAxh2rG6_5alloc5alloc18handle_alloc_error@GOTPCREL] 
dag:24'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          81: .Lfunc_end2: 
dag:24'0      ~~~~~~~~~~~~~
          82:  .size rc_new, .Lfunc_end2-rc_new 
dag:24'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          83:  .cfi_endproc 
dag:24'0      ~~~~~~~~~~~~~~
          84:  
dag:24'0      ~
          85:  .section .text.rc_deref,"ax",@progbits 
dag:24'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          86:  .globl rc_deref 
dag:24'0      ~~~~~~~~~~~~~~~~~
          87:  .p2align 4 
dag:24'0      ~~~~~~~~~~~~
          88:  .type rc_deref,@function 
dag:24'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~
          89: rc_deref: 
dag:24'0      ~~~~~~~~~
          90:  .cfi_startproc 
          91:  mov rax, qword ptr [rdi] 
          92:  add rax, 16 
          93:  ret 
          94: .Lfunc_end3: 
          95:  .size rc_deref, .Lfunc_end3-rc_deref 
          96:  .cfi_endproc 
          97:  
          98:  .section .text.rc_increment,"ax",@progbits 
          99:  .globl rc_increment 
         100:  .p2align 4 
         101:  .type rc_increment,@function 
         102: rc_increment: 
         103:  .cfi_startproc 
         104:  mov rax, qword ptr [rdi] 
         105:  inc qword ptr [rax] 
         106:  je .LBB4_1 
         107:  ret 
         108: .LBB4_1: 
         109:  ud2 
         110: .Lfunc_end4: 
         111:  .size rc_increment, .Lfunc_end4-rc_increment 
         112:  .cfi_endproc 
         113:  
         114:  .section .text.rc_decrement,"ax",@progbits 
         115:  .globl rc_decrement 
         116:  .p2align 4 
         117:  .type rc_decrement,@function 
         118: rc_decrement: 
         119:  .cfi_startproc 
         120:  push rax 
         121:  .cfi_def_cfa_offset 16 
         122:  mov qword ptr [rsp], rdi 
         123:  dec qword ptr [rdi] 
         124:  je .LBB5_1 
         125:  pop rax 
         126:  .cfi_def_cfa_offset 8 
         127:  ret 
         128: .LBB5_1: 
         129:  .cfi_def_cfa_offset 16 
         130:  mov rdi, rsp 
         131:  call qword ptr [rip + _RNvMs6_NtNtCs4uVXAxh2rG6_5alloc3rcs2rcINtB5_2RcjE9drop_slowCs6cL1XiQFZ0m_13x86_64_rc_arc@GOTPCREL] 
         132:  pop rax 
         133:  .cfi_def_cfa_offset 8 
         134:  ret 
         135: .Lfunc_end5: 
         136:  .size rc_decrement, .Lfunc_end5-rc_decrement 
         137:  .cfi_endproc 
         138:  
         139:  .section .text.rc_downgrade,"ax",@progbits 
         140:  .globl rc_downgrade 
         141:  .p2align 4 
         142:  .type rc_downgrade,@function 
         143: rc_downgrade: 
         144:  .cfi_startproc 
         145:  mov rax, qword ptr [rdi] 
         146:  inc qword ptr [rax + 8] 
         147:  je .LBB6_3 
         148:  cmp rax, -1 
         149:  je .LBB6_4 
         150:  ret 
next:74        !~~  error: match on wrong line
         151: .LBB6_3: 
         152:  ud2 
         153: .LBB6_4: 
         154:  push rax 
         155:  .cfi_def_cfa_offset 16 
         156:  lea rdi, [rip + .Lanon.df893871a94291aab72eeff81fe85739.0] 
         157:  lea rdx, [rip + .Lanon.df893871a94291aab72eeff81fe85739.2] 
         158:  mov esi, 49 
         159:  call qword ptr [rip + _RNvNtCskqAJWPXfeuw_4core9panicking5panic@GOTPCREL] 
         160: .Lfunc_end6: 
         161:  .size rc_downgrade, .Lfunc_end6-rc_downgrade 
         162:  .cfi_endproc 
         163:  
         164:  .section .text.rc_upgrade,"ax",@progbits 
         165:  .globl rc_upgrade 
         166:  .p2align 4 
         167:  .type rc_upgrade,@function 
         168: rc_upgrade: 
         169:  .cfi_startproc 
         170:  mov rax, qword ptr [rdi] 
         171:  cmp rax, -1 
         172:  je .LBB7_4 
         173:  mov rcx, qword ptr [rax] 
         174:  test rcx, rcx 
         175:  je .LBB7_4 
         176:  inc rcx 
         177:  mov qword ptr [rax], rcx 
         178:  je .LBB7_3 
         179: .LBB7_4: 
         180:  ret 
         181: .LBB7_3: 
         182:  ud2 
         183: .Lfunc_end7: 
         184:  .size rc_upgrade, .Lfunc_end7-rc_upgrade 
         185:  .cfi_endproc 
         186:  
         187:  .section .text.arc_new,"ax",@progbits 
         188:  .globl arc_new 
         189:  .p2align 4 
         190:  .type arc_new,@function 
         191: arc_new: 
         192:  .cfi_startproc 
         193:  push rbx 
         194:  .cfi_def_cfa_offset 16 
         195:  .cfi_offset rbx, -16 
         196:  mov rbx, rdi 
         197:  call qword ptr [rip + _RNvCshZz7ooBqPwX_7___rustc35___rust_no_alloc_shim_is_unstable_v2@GOTPCREL] 
         198:  mov edi, 24 
         199:  mov esi, 8 
         200:  call qword ptr [rip + _RNvCshZz7ooBqPwX_7___rustc12___rust_alloc@GOTPCREL] 
         201:  test rax, rax 
         202:  je .LBB8_2 
         203:  mov qword ptr [rax], 1 
         204:  mov qword ptr [rax + 8], 1 
         205:  mov qword ptr [rax + 16], rbx 
         206:  pop rbx 
         207:  .cfi_def_cfa_offset 8 
         208:  ret 
         209: .LBB8_2: 
dag:113'0             X error: no match found
         210:  .cfi_def_cfa_offset 16 
dag:113'0     ~~~~~~~~~~~~~~~~~~~~~~~~
         211:  mov edi, 24 
dag:113'0     ~~~~~~~~~~~~~
dag:113'1      ?            possible intended match
         212:  mov esi, 8 
dag:113'0     ~~~~~~~~~~~~
         213:  call qword ptr [rip + _RNvNtCs4uVXAxh2rG6_5alloc5alloc18handle_alloc_error@GOTPCREL] 
dag:113'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         214: .Lfunc_end8: 
dag:113'0     ~~~~~~~~~~~~~
         215:  .size arc_new, .Lfunc_end8-arc_new 
dag:113'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         216:  .cfi_endproc 
dag:113'0     ~~~~~~~~~~~~~~
         217:  
dag:113'0     ~
         218:  .section .text.arc_deref,"ax",@progbits 
dag:113'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         219:  .globl arc_deref 
dag:113'0     ~~~~~~~~~~~~~~~~~~
         220:  .p2align 4 
dag:113'0     ~~~~~~~~~~~~
         221:  .type arc_deref,@function 
dag:113'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
         222: arc_deref: 
dag:113'0     ~~~~~~~~~~
         223:  .cfi_startproc 
         224:  mov rax, qword ptr [rdi] 
         225:  add rax, 16 
         226:  ret 
         227: .Lfunc_end9: 
         228:  .size arc_deref, .Lfunc_end9-arc_deref 
         229:  .cfi_endproc 
         230:  
         231:  .section .text.arc_increment,"ax",@progbits 
         232:  .globl arc_increment 
         233:  .p2align 4 
         234:  .type arc_increment,@function 
         235: arc_increment: 
         236:  .cfi_startproc 
         237:  mov rax, qword ptr [rdi] 
         238:  lock inc qword ptr [rax] 
         239:  jle .LBB10_2 
         240:  ret 
         241: .LBB10_2: 
         242:  ud2 
         243: .Lfunc_end10: 
         244:  .size arc_increment, .Lfunc_end10-arc_increment 
         245:  .cfi_endproc 
         246:  
         247:  .section .text.arc_decrement,"ax",@progbits 
         248:  .globl arc_decrement 
         249:  .p2align 4 
         250:  .type arc_decrement,@function 
         251: arc_decrement: 
         252:  .cfi_startproc 
         253:  push rax 
         254:  .cfi_def_cfa_offset 16 
         255:  mov qword ptr [rsp], rdi 
         256:  lock dec qword ptr [rdi] 
         257:  jne .LBB11_3 
         258:  #MEMBARRIER 
         259:  cmp rdi, qword ptr [rip + _RNvNtNtCs4uVXAxh2rG6_5alloc3rcs3arc18STATIC_INNER_SLICE@GOTPCREL] 
         260:  je .LBB11_4 
         261:  mov rdi, rsp 
next:148       !~~~~~~~~~~~  error: match on wrong line
         262:  call qword ptr [rip + _RNvMsn_NtNtCs4uVXAxh2rG6_5alloc3rcs3arcINtB5_3ArcjE9drop_slowCs6cL1XiQFZ0m_13x86_64_rc_arc@GOTPCREL] 
         263: .LBB11_3: 
         264:  pop rax 
         265:  .cfi_def_cfa_offset 8 
         266:  ret 
         267: .LBB11_4: 
         268:  .cfi_def_cfa_offset 16 
         269:  lea rsi, [rip + .Lanon.df893871a94291aab72eeff81fe85739.7] 
         270:  lea rdx, [rip + .Lanon.df893871a94291aab72eeff81fe85739.8] 
         271:  mov edi, 267 
         272:  call qword ptr [rip + _RNvNtCskqAJWPXfeuw_4core9panicking9panic_fmt@GOTPCREL] 
         273: .Lfunc_end11: 
         274:  .size arc_decrement, .Lfunc_end11-arc_decrement 
         275:  .cfi_endproc 
         276:  
         277:  .section .text.arc_downgrade,"ax",@progbits 
         278:  .globl arc_downgrade 
         279:  .p2align 4 
         280:  .type arc_downgrade,@function 
         281: arc_downgrade: 
         282:  .cfi_startproc 
         283:  push rax 
         284:  .cfi_def_cfa_offset 16 
         285:  mov rcx, qword ptr [rdi] 
         286:  jmp .LBB12_1 
         287:  .p2align 4 
         288: .LBB12_3: 
         289:  pause 
         290: .LBB12_1: 
         291:  mov rax, qword ptr [rcx + 8] 
         292:  .p2align 4 
         293: .LBB12_2: 
         294:  cmp rax, -1 
         295:  je .LBB12_3 
         296:  test rax, rax 
         297:  js .LBB12_8 
         298:  lea rdx, [rax + 1] 
         299:  lock cmpxchg qword ptr [rcx + 8], rdx 
         300:  jne .LBB12_2 
         301:  cmp rcx, -1 
         302:  je .LBB12_9 
         303:  pop rax 
next:174       !~~~~~~  error: match on wrong line
         304:  .cfi_def_cfa_offset 8 
         305:  ret 
         306: .LBB12_8: 
         307:  .cfi_def_cfa_offset 16 
         308:  lea rdi, [rip + .Lanon.df893871a94291aab72eeff81fe85739.5] 
         309:  call qword ptr [rip + _RNvNtNtCs4uVXAxh2rG6_5alloc3rcs3arc18panic_arc_overflow@GOTPCREL] 
         310: .LBB12_9: 
         311:  lea rdi, [rip + .Lanon.df893871a94291aab72eeff81fe85739.0] 
         312:  lea rdx, [rip + .Lanon.df893871a94291aab72eeff81fe85739.4] 
         313:  mov esi, 49 
         314:  call qword ptr [rip + _RNvNtCskqAJWPXfeuw_4core9panicking5panic@GOTPCREL] 
         315: .Lfunc_end12: 
         316:  .size arc_downgrade, .Lfunc_end12-arc_downgrade 
         317:  .cfi_endproc 
         318:  
         319:  .section .text.arc_upgrade,"ax",@progbits 
         320:  .globl arc_upgrade 
         321:  .p2align 4 
         322:  .type arc_upgrade,@function 
         323: arc_upgrade: 
         324:  .cfi_startproc 
         325:  push rax 
         326:  .cfi_def_cfa_offset 16 
         327:  mov rcx, qword ptr [rdi] 
         328:  cmp rcx, -1 
         329:  je .LBB13_5 
         330:  mov rax, qword ptr [rcx] 
         331:  .p2align 4 
         332: .LBB13_2: 
         333:  test rax, rax 
         334:  je .LBB13_5 
         335:  js .LBB13_6 
         336:  lea rdx, [rax + 1] 
         337:  lock cmpxchg qword ptr [rcx], rdx 
         338:  jne .LBB13_2 
         339: .LBB13_5: 
         340:  pop rax 
         341:  .cfi_def_cfa_offset 8 
         342:  ret 
         343: .LBB13_6: 
         344:  .cfi_def_cfa_offset 16 
         345:  lea rdi, [rip + .Lanon.df893871a94291aab72eeff81fe85739.6] 
         346:  call qword ptr [rip + _RNvNtNtCs4uVXAxh2rG6_5alloc3rcs3arc18panic_arc_overflow@GOTPCREL] 
         347: .Lfunc_end13: 
         348:  .size arc_upgrade, .Lfunc_end13-arc_upgrade 
         349:  .cfi_endproc 
         350:  
         351:  .type .Lanon.df893871a94291aab72eeff81fe85739.0,@object 
         352:  .section .rodata..Lanon.df893871a94291aab72eeff81fe85739.0,"a",@progbits 
         353: .Lanon.df893871a94291aab72eeff81fe85739.0: 
         354:  .ascii "assertion failed: !is_dangling(this.ptr.as_ptr())" 
         355:  .size .Lanon.df893871a94291aab72eeff81fe85739.0, 49 
         356:  
         357:  .type .Lanon.df893871a94291aab72eeff81fe85739.1,@object 
         358:  .section .rodata.str1.1,"aMS",@progbits,1 
         359: .Lanon.df893871a94291aab72eeff81fe85739.1: 
         360:  .asciz "/rustc/FAKE_PREFIX/library/alloc/src/rcs/rc.rs" 
         361:  .size .Lanon.df893871a94291aab72eeff81fe85739.1, 47 
         362:  
         363:  .type .Lanon.df893871a94291aab72eeff81fe85739.2,@object 
         364:  .section .data.rel.ro..Lanon.df893871a94291aab72eeff81fe85739.2,"aw",@progbits 
         365:  .p2align 3, 0x0 
         366: .Lanon.df893871a94291aab72eeff81fe85739.2: 
         367:  .quad .Lanon.df893871a94291aab72eeff81fe85739.1 
         368:  .asciz ".\000\000\000\000\000\000\000\t\000\000\000J\007\000" 
         369:  .size .Lanon.df893871a94291aab72eeff81fe85739.2, 24 
         370:  
         371:  .type .Lanon.df893871a94291aab72eeff81fe85739.3,@object 
         372:  .section .rodata.str1.1,"aMS",@progbits,1 
         373: .Lanon.df893871a94291aab72eeff81fe85739.3: 
         374:  .asciz "/rustc/FAKE_PREFIX/library/alloc/src/rcs/arc.rs" 
         375:  .size .Lanon.df893871a94291aab72eeff81fe85739.3, 48 
         376:  
         377:  .type .Lanon.df893871a94291aab72eeff81fe85739.4,@object 
         378:  .section .data.rel.ro..Lanon.df893871a94291aab72eeff81fe85739.4,"aw",@progbits 
         379:  .p2align 3, 0x0 
         380: .Lanon.df893871a94291aab72eeff81fe85739.4: 
         381:  .quad .Lanon.df893871a94291aab72eeff81fe85739.3 
         382:  .asciz "/\000\000\000\000\000\000\000\025\000\000\000\021\b\000" 
         383:  .size .Lanon.df893871a94291aab72eeff81fe85739.4, 24 
         384:  
         385:  .type .Lanon.df893871a94291aab72eeff81fe85739.5,@object 
         386:  .section .data.rel.ro..Lanon.df893871a94291aab72eeff81fe85739.5,"aw",@progbits 
         387:  .p2align 3, 0x0 
         388: .Lanon.df893871a94291aab72eeff81fe85739.5: 
         389:  .quad .Lanon.df893871a94291aab72eeff81fe85739.3 
         390:  .asciz "/\000\000\000\000\000\000\000\021\000\000\000\005\b\000" 
         391:  .size .Lanon.df893871a94291aab72eeff81fe85739.5, 24 
         392:  
         393:  .type .Lanon.df893871a94291aab72eeff81fe85739.6,@object 
         394:  .section .data.rel.ro..Lanon.df893871a94291aab72eeff81fe85739.6,"aw",@progbits 
         395:  .p2align 3, 0x0 
         396: .Lanon.df893871a94291aab72eeff81fe85739.6: 
         397:  .quad .Lanon.df893871a94291aab72eeff81fe85739.3 
         398:  .asciz "/\000\000\000\000\000\000\000\021\000\000\000w\r\000" 
         399:  .size .Lanon.df893871a94291aab72eeff81fe85739.6, 24 
         400:  

@rust-bors rust-bors Bot 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 Oct 27, 2026
@rust-bors

rust-bors Bot commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

💔 Test for ade807b failed: CI. Failed job:

@tgross35 tgross35 closed this Oct 27, 2026
@rust-bors rust-bors Bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 27, 2026
@rust-bors

rust-bors Bot commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

PR #164851, which is a member of this rollup, was unapproved.

@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Oct 27, 2026
@tgross35
tgross35 deleted the rollup-PR29URJ branch October 27, 2026 05:44
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. F-autodiff `#![feature(autodiff)]` rollup A PR which is a rollup 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-rust-analyzer Relevant to the rust-analyzer team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants