Skip to content

Rollup of 3 pull requests#156253

Closed
JonathanBrouwer wants to merge 6 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-F1llwAn
Closed

Rollup of 3 pull requests#156253
JonathanBrouwer wants to merge 6 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-F1llwAn

Conversation

@JonathanBrouwer
Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

petrochenkov and others added 6 commits May 6, 2026 14:24
All the necessary data can be taken from `SyntaxExtension` instead.
Like we do for other things for better experience in rust-analyzer.

It's possible now that the `AliasTyKind` and `AliasTermKind` contains the DefId.

It does require a few `try_into().unwrap()`s since in the solver's `consider_X_candidate()` only get an untyped `DefId`. It's possible to reduce that considerably if we'd pass them the typed def id as a parameter, but I don't know what will be the impact on perf.
This commit is some minor updates/restructuring in a few locations with
the end result being supporting `-Cpanic=unwind` on WASI targets. This
continues to be off-by-default insofar as WASI targets default to
`-Cpanic=abort`, meaning that actually using anything in this commit
requires `-Zbuild-std`. Specifically the changes made here are:

* The self-contained sysroot for WASI targets now contains a copy of
  `libunwind.a` from wasi-sdk, first shipped with wasi-sdk-33 (also
  updated here).
* The `unwind` crate here in this repository uses the `libunwind` module
  instead of the custom bare-metal wasm implementation of exceptions.
  This means that Rust uses the `_Unwind_*` symbols which allows it to
  interoperate with C/C++/etc.
* Wasm targets are all updated to pass the LLVM argument
  `-wasm-use-legacy-eh=false` to differ from LLVM's/clang's default of
  using the legacy exception handling proposal for WebAssembly. This has
  no effect by default because `panic=abort` is used on most targets.
  Emscripten is exempted from this as the Emscripten target is
  explicitly intended to follow LLVM's/clang's defaults.
* There's a single test in the test suite that links to the
  `panic_unwind` crate which ended up requiring `-Wexceptions` from
  Wasmtime, so the test parts were updated and Wasmtime was updated in
  CI, too.

The net result of all of this is that this should not actually affect
any WebAssembly target's default behavior. Optionally, though, WASI
programs can be built with exception handling via:

    RUSTFLAGS='-Cpanic=unwind' cargo +nightly run -Z build-std --target wasm32-wasip2

Effectively `-Zbuild-std` and `-Cpanic=unwind` is all that's necessary
to enable this support on wasm targets.

Finally, this ends up closing 154593 as well. The WASI targets are now
defined to use `-lunwind` to implement unwinding. This means that the
in-tree definition of `__cpp_exception` is no longer of concern and the
definition is always sourced externally. If Rust is linked with other
C/C++ code using WASI then these idioms are compatible with wasi-sdk,
for example, to use that as a linker. The main caveat is that when using
an external linker the `-fwasm-exceptions` argument needs to be passed
to `clang` for it to be able to find the `libunwind.a` library to link
against.

Closes 154593
…bjorn3

Support `-Cpanic=unwind` on WASI targets

This commit is some minor updates/restructuring in a few locations with the end result being supporting `-Cpanic=unwind` on WASI targets. This continues to be off-by-default insofar as WASI targets default to `-Cpanic=abort`, meaning that actually using anything in this commit requires `-Zbuild-std`. Specifically the changes made here are:

* The self-contained sysroot for WASI targets now contains a copy of `libunwind.a` from wasi-sdk, first shipped with wasi-sdk-33 (also updated here).
* The `unwind` crate here in this repository uses the `libunwind` module instead of the custom bare-metal wasm implementation of exceptions. This means that Rust uses the `_Unwind_*` symbols which allows it to interoperate with C/C++/etc.
* Wasm targets are all updated to pass the LLVM argument `-wasm-use-legacy-eh=false` to differ from LLVM's/clang's default of using the legacy exception handling proposal for WebAssembly. This has no effect by default because `panic=abort` is used on most targets. Emscripten is exempted from this as the Emscripten target is explicitly intended to follow LLVM's/clang's defaults.
* There's a single test in the test suite that links to the `panic_unwind` crate which ended up requiring `-Wexceptions` from Wasmtime, so the test parts were updated and Wasmtime was updated in CI, too.

The net result of all of this is that this should not actually affect any WebAssembly target's default behavior. Optionally, though, WASI programs can be built with exception handling via:

    RUSTFLAGS='-Cpanic=unwind' cargo +nightly run -Z build-std --target wasm32-wasip2

Effectively `-Zbuild-std` and `-Cpanic=unwind` is all that's necessary to enable this support on wasm targets.

Finally, this ends up closing rust-lang#154593 as well. The WASI targets are now defined to use `-lunwind` to implement unwinding. This means that the in-tree definition of `__cpp_exception` is no longer of concern and the definition is always sourced externally. If Rust is linked with other C/C++ code using WASI then these idioms are compatible with wasi-sdk, for example, to use that as a linker. The main caveat is that when using an external linker the `-fwasm-exceptions` argument needs to be passed to `clang` for it to be able to find the `libunwind.a` library to link against.

Closes rust-lang#154593
resolve: Remove `MacroData`

All the necessary data can be taken from `SyntaxExtension` instead.
Use special DefIds for aliases

Renewal of rust-lang#155025, after `AliasTermKind` was also ported.

Like we do for other things for better experience in rust-analyzer.

It's possible now that the `AliasTyKind` and `AliasTermKind` contains the DefId.

It does require a few `try_into().unwrap()`s since in the solver's `consider_X_candidate()` only get an untyped `DefId`. It's possible to reduce that considerably if we'd pass them the typed def id as a parameter, but I don't know what will be the impact on perf. Should I try to pursue that?

r? lcnr
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label May 6, 2026
@rustbot rustbot added A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc 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-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels May 6, 2026
@JonathanBrouwer
Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never p=5

Trying commonly failed jobs
@bors try jobs=dist-various-1,test-various,x86_64-gnu-aux,x86_64-gnu-llvm-21-3,x86_64-msvc-1,aarch64-apple,x86_64-mingw-1,i686-msvc-2

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 6, 2026

📌 Commit 0a193e1 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 May 6, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request May 6, 2026
Rollup of 3 pull requests


try-job: dist-various-1
try-job: test-various
try-job: x86_64-gnu-aux
try-job: x86_64-gnu-llvm-21-3
try-job: x86_64-msvc-1
try-job: aarch64-apple
try-job: x86_64-mingw-1
try-job: i686-msvc-2
@rust-log-analyzer
Copy link
Copy Markdown
Collaborator

The job test-various failed! Check out the build log: (web) (plain enhanced) (plain)

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

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

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

Input was:
<<<<<<
            1:  .file "wasm_exceptions.c220d53a0cdd662d-cgu.0" 
            2:  .globaltype __stack_pointer, i32 
            3:  .tagtype __cpp_exception i32 
            4:  .functype _RNvXCsgFl5uybZNR9_15wasm_exceptionsNtB2_9LogOnDropNtNtNtCsdCU3HwPWlZH_4core3ops4drop4Drop4drop (i32) -> () 
            5:  .functype test_cleanup () -> () 
            6:  .functype test_rtry () -> () 
            7:  .functype __gxx_wasm_personality_v0 (i32) -> (i32) 
            8:  .functype log_number (i32) -> () 
            9:  .functype may_panic () -> () 
           10:  .functype _Unwind_CallPersonality (i32) -> (i32) 
           11:  .section .text._RNvXCsgFl5uybZNR9_15wasm_exceptionsNtB2_9LogOnDropNtNtNtCsdCU3HwPWlZH_4core3ops4drop4Drop4drop,"",@ 
           12:  .globl _RNvXCsgFl5uybZNR9_15wasm_exceptionsNtB2_9LogOnDropNtNtNtCsdCU3HwPWlZH_4core3ops4drop4Drop4drop 
           13:  .type _RNvXCsgFl5uybZNR9_15wasm_exceptionsNtB2_9LogOnDropNtNtNtCsdCU3HwPWlZH_4core3ops4drop4Drop4drop,@function 
           14: _RNvXCsgFl5uybZNR9_15wasm_exceptionsNtB2_9LogOnDropNtNtNtCsdCU3HwPWlZH_4core3ops4drop4Drop4drop: 
           15:  .functype _RNvXCsgFl5uybZNR9_15wasm_exceptionsNtB2_9LogOnDropNtNtNtCsdCU3HwPWlZH_4core3ops4drop4Drop4drop (i32) -> () 
           16:  i32.const 0 
           17:  call log_number 
           18:  end_function 
           19:  
           20:  .section .text.test_cleanup,"",@ 
           21:  .globl test_cleanup 
           22:  .type test_cleanup,@function 
           23: test_cleanup: 
           24: .Lfunc_begin0: 
           25:  .functype test_cleanup () -> () 
           26:  .local i32, exnref 
           27:  global.get __stack_pointer 
           28:  local.set 0 
           29:  block  
           30:  block exnref 
           31:  try_table (catch_all_ref 0) 
           32: .Ltmp0: 
           33:  call may_panic 
check:38'0                    X error: no match found
           34: .Ltmp1: 
check:38'0     ~~~~~~~~
           35:  br 2 
check:38'0     ~~~~~~
           36:  end_try_table 
check:38'0     ~~~~~~~~~~~~~~~
           37:  unreachable 
check:38'0     ~~~~~~~~~~~~~
check:38'1         ?         possible intended match
           38: .LBB1_2: 
check:38'0     ~~~~~~~~~
           39:  end_block 
check:38'0     ~~~~~~~~~~~
           40: .Ltmp2: 
check:38'0     ~~~~~~~~
           41:  local.set 1 
check:38'0     ~~~~~~~~~~~~~
           42:  local.get 0 
check:38'0     ~~~~~~~~~~~~~
           43:  global.set __stack_pointer 
check:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           44:  i32.const 0 
check:38'0     ~~~~~~~~~~~~~
           45:  call log_number 
check:38'0     ~~~~~~~~~~~~~~~~~
           46:  local.get 1 
check:38'0     ~~~~~~~~~~~~~
           47:  throw_ref 
check:38'0     ~~~~~~~~~~~
           48: .LBB1_3: 
check:38'0     ~~~~~~~~~
           49:  end_block 
---
check:38'0     ~~~~~~~~~~~~~~
           53: .Lfunc_end0: 
check:38'0     ~~~~~~~~~~~~~
           54:  
check:38'0     ~
           55:  .section .text.test_rtry,"",@ 
check:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           56:  .globl test_rtry 
check:38'0     ~~~~~~~~~~~~~~~~~~
           57:  .type test_rtry,@function 
check:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
           58: test_rtry: 
check:38'0     ~~~~~~~~~~
           59: .Lfunc_begin1: 
           60:  .functype test_rtry () -> () 
           61:  .local i32, i32 
           62:  global.get __stack_pointer 
           63:  local.set 0 
           64:  block  
           65:  block i32 
           66:  try_table (catch __cpp_exception 0) 
           67: .Ltmp3: 
           68:  call may_panic 
check:62'0                    X error: no match found
           69: .Ltmp4: 
check:62'0     ~~~~~~~~
           70:  br 2 
check:62'0     ~~~~~~
           71:  end_try_table 
check:62'0     ~~~~~~~~~~~~~~~
           72:  unreachable 
check:62'0     ~~~~~~~~~~~~~
check:62'1        ?          possible intended match
           73: .LBB2_2: 
check:62'0     ~~~~~~~~~
           74:  end_block 
check:62'0     ~~~~~~~~~~~
           75: .Ltmp5: 
check:62'0     ~~~~~~~~
           76:  local.set 1 
check:62'0     ~~~~~~~~~~~~~
           77:  local.get 0 
check:62'0     ~~~~~~~~~~~~~
           78:  global.set __stack_pointer 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           79:  i32.const 0 
check:62'0     ~~~~~~~~~~~~~
           80:  call log_number 
check:62'0     ~~~~~~~~~~~~~~~~~
           81:  local.get 1 
check:62'0     ~~~~~~~~~~~~~
           82:  call log_number 
check:62'0     ~~~~~~~~~~~~~~~~~
           83: .LBB2_3: 
check:62'0     ~~~~~~~~~
           84:  end_block 
check:62'0     ~~~~~~~~~~~
           85:  end_function 
check:62'0     ~~~~~~~~~~~~~~
           86: .Lfunc_end1: 
check:62'0     ~~~~~~~~~~~~~
           87:  
check:62'0     ~
           88:  .ident "rustc version 1.97.0-nightly (bce7eda69 2026-05-06)" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           89:  .no_dead_strip __indirect_function_table 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           90:  .size __wasm_lpad_context, 12 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           91:  .section .custom_section.producers,"",@ 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           92:  .int8 1 
check:62'0     ~~~~~~~~~
           93:  .int8 12 
check:62'0     ~~~~~~~~~~
           94:  .ascii "processed-by" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~
           95:  .int8 1 
check:62'0     ~~~~~~~~~
           96:  .int8 5 
check:62'0     ~~~~~~~~~
           97:  .ascii "rustc" 
check:62'0     ~~~~~~~~~~~~~~~~
           98:  .int8 37 
check:62'0     ~~~~~~~~~~
           99:  .ascii "1.97.0-nightly (bce7eda69 2026-05-06)" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          100:  .section .text.test_rtry,"",@ 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          101:  .section .custom_section.target_features,"",@ 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          102:  .int8 10 
check:62'0     ~~~~~~~~~~
          103:  .int8 43 
check:62'0     ~~~~~~~~~~
          104:  .int8 11 
check:62'0     ~~~~~~~~~~
          105:  .ascii "bulk-memory" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~
          106:  .int8 43 
check:62'0     ~~~~~~~~~~
          107:  .int8 15 
check:62'0     ~~~~~~~~~~
          108:  .ascii "bulk-memory-opt" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
          109:  .int8 43 
check:62'0     ~~~~~~~~~~
          110:  .int8 22 
check:62'0     ~~~~~~~~~~
          111:  .ascii "call-indirect-overlong" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          112:  .int8 43 
check:62'0     ~~~~~~~~~~
          113:  .int8 18 
check:62'0     ~~~~~~~~~~
          114:  .ascii "exception-handling" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          115:  .int8 43 
check:62'0     ~~~~~~~~~~
          116:  .int8 10 
check:62'0     ~~~~~~~~~~
          117:  .ascii "multivalue" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~
          118:  .int8 43 
check:62'0     ~~~~~~~~~~
          119:  .int8 15 
check:62'0     ~~~~~~~~~~
          120:  .ascii "mutable-globals" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
          121:  .int8 43 
check:62'0     ~~~~~~~~~~
          122:  .int8 19 
check:62'0     ~~~~~~~~~~
          123:  .ascii "nontrapping-fptoint" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          124:  .int8 43 
check:62'0     ~~~~~~~~~~
          125:  .int8 15 
check:62'0     ~~~~~~~~~~
          126:  .ascii "reference-types" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
          127:  .int8 43 
check:62'0     ~~~~~~~~~~
          128:  .int8 8 
check:62'0     ~~~~~~~~~
          129:  .ascii "sign-ext" 
check:62'0     ~~~~~~~~~~~~~~~~~~~
          130:  .int8 45 
check:62'0     ~~~~~~~~~~
          131:  .int8 10 
check:62'0     ~~~~~~~~~~
          132:  .ascii "shared-mem" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~
          133:  .section .text.test_rtry,"",@ 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>

------------------------------------------

error: 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/assembly-llvm/wasm_exceptions/wasm_exceptions.s" "/checkout/tests/assembly-llvm/wasm_exceptions.rs" "--check-prefix=CHECK" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/assembly-llvm/wasm_exceptions.rs:38:12: error: CHECK: expected string not found in input
 // CHECK: catch_all
           ^
---

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

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

Input was:
<<<<<<
            1:  .file "wasm_exceptions.c220d53a0cdd662d-cgu.0" 
            2:  .globaltype __stack_pointer, i32 
            3:  .tagtype __cpp_exception i32 
            4:  .functype _RNvXCsgFl5uybZNR9_15wasm_exceptionsNtB2_9LogOnDropNtNtNtCsdCU3HwPWlZH_4core3ops4drop4Drop4drop (i32) -> () 
            5:  .functype test_cleanup () -> () 
            6:  .functype test_rtry () -> () 
            7:  .functype __gxx_wasm_personality_v0 (i32) -> (i32) 
            8:  .functype log_number (i32) -> () 
            9:  .functype may_panic () -> () 
           10:  .functype _Unwind_CallPersonality (i32) -> (i32) 
           11:  .section .text._RNvXCsgFl5uybZNR9_15wasm_exceptionsNtB2_9LogOnDropNtNtNtCsdCU3HwPWlZH_4core3ops4drop4Drop4drop,"",@ 
           12:  .globl _RNvXCsgFl5uybZNR9_15wasm_exceptionsNtB2_9LogOnDropNtNtNtCsdCU3HwPWlZH_4core3ops4drop4Drop4drop 
           13:  .type _RNvXCsgFl5uybZNR9_15wasm_exceptionsNtB2_9LogOnDropNtNtNtCsdCU3HwPWlZH_4core3ops4drop4Drop4drop,@function 
           14: _RNvXCsgFl5uybZNR9_15wasm_exceptionsNtB2_9LogOnDropNtNtNtCsdCU3HwPWlZH_4core3ops4drop4Drop4drop: 
           15:  .functype _RNvXCsgFl5uybZNR9_15wasm_exceptionsNtB2_9LogOnDropNtNtNtCsdCU3HwPWlZH_4core3ops4drop4Drop4drop (i32) -> () 
           16:  i32.const 0 
           17:  call log_number 
           18:  end_function 
           19:  
           20:  .section .text.test_cleanup,"",@ 
           21:  .globl test_cleanup 
           22:  .type test_cleanup,@function 
           23: test_cleanup: 
           24: .Lfunc_begin0: 
           25:  .functype test_cleanup () -> () 
           26:  .local i32, exnref 
           27:  global.get __stack_pointer 
           28:  local.set 0 
           29:  block  
           30:  block exnref 
           31:  try_table (catch_all_ref 0) 
           32: .Ltmp0: 
           33:  call may_panic 
check:38'0                    X error: no match found
           34: .Ltmp1: 
check:38'0     ~~~~~~~~
           35:  br 2 
check:38'0     ~~~~~~
           36:  end_try_table 
check:38'0     ~~~~~~~~~~~~~~~
           37:  unreachable 
check:38'0     ~~~~~~~~~~~~~
check:38'1         ?         possible intended match
           38: .LBB1_2: 
check:38'0     ~~~~~~~~~
           39:  end_block 
check:38'0     ~~~~~~~~~~~
           40: .Ltmp2: 
check:38'0     ~~~~~~~~
           41:  local.set 1 
check:38'0     ~~~~~~~~~~~~~
           42:  local.get 0 
check:38'0     ~~~~~~~~~~~~~
           43:  global.set __stack_pointer 
check:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           44:  i32.const 0 
check:38'0     ~~~~~~~~~~~~~
           45:  call log_number 
check:38'0     ~~~~~~~~~~~~~~~~~
           46:  local.get 1 
check:38'0     ~~~~~~~~~~~~~
           47:  throw_ref 
check:38'0     ~~~~~~~~~~~
           48: .LBB1_3: 
check:38'0     ~~~~~~~~~
           49:  end_block 
---
check:38'0     ~~~~~~~~~~~~~~
           53: .Lfunc_end0: 
check:38'0     ~~~~~~~~~~~~~
           54:  
check:38'0     ~
           55:  .section .text.test_rtry,"",@ 
check:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           56:  .globl test_rtry 
check:38'0     ~~~~~~~~~~~~~~~~~~
           57:  .type test_rtry,@function 
check:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
           58: test_rtry: 
check:38'0     ~~~~~~~~~~
           59: .Lfunc_begin1: 
           60:  .functype test_rtry () -> () 
           61:  .local i32, i32 
           62:  global.get __stack_pointer 
           63:  local.set 0 
           64:  block  
           65:  block i32 
           66:  try_table (catch __cpp_exception 0) 
           67: .Ltmp3: 
           68:  call may_panic 
check:62'0                    X error: no match found
           69: .Ltmp4: 
check:62'0     ~~~~~~~~
           70:  br 2 
check:62'0     ~~~~~~
           71:  end_try_table 
check:62'0     ~~~~~~~~~~~~~~~
           72:  unreachable 
check:62'0     ~~~~~~~~~~~~~
check:62'1        ?          possible intended match
           73: .LBB2_2: 
check:62'0     ~~~~~~~~~
           74:  end_block 
check:62'0     ~~~~~~~~~~~
           75: .Ltmp5: 
check:62'0     ~~~~~~~~
           76:  local.set 1 
check:62'0     ~~~~~~~~~~~~~
           77:  local.get 0 
check:62'0     ~~~~~~~~~~~~~
           78:  global.set __stack_pointer 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           79:  i32.const 0 
check:62'0     ~~~~~~~~~~~~~
           80:  call log_number 
check:62'0     ~~~~~~~~~~~~~~~~~
           81:  local.get 1 
check:62'0     ~~~~~~~~~~~~~
           82:  call log_number 
check:62'0     ~~~~~~~~~~~~~~~~~
           83: .LBB2_3: 
check:62'0     ~~~~~~~~~
           84:  end_block 
check:62'0     ~~~~~~~~~~~
           85:  end_function 
check:62'0     ~~~~~~~~~~~~~~
           86: .Lfunc_end1: 
check:62'0     ~~~~~~~~~~~~~
           87:  
check:62'0     ~
           88:  .ident "rustc version 1.97.0-nightly (bce7eda69 2026-05-06)" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           89:  .no_dead_strip __indirect_function_table 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           90:  .size __wasm_lpad_context, 12 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           91:  .section .custom_section.producers,"",@ 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           92:  .int8 1 
check:62'0     ~~~~~~~~~
           93:  .int8 12 
check:62'0     ~~~~~~~~~~
           94:  .ascii "processed-by" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~
           95:  .int8 1 
check:62'0     ~~~~~~~~~
           96:  .int8 5 
check:62'0     ~~~~~~~~~
           97:  .ascii "rustc" 
check:62'0     ~~~~~~~~~~~~~~~~
           98:  .int8 37 
check:62'0     ~~~~~~~~~~
           99:  .ascii "1.97.0-nightly (bce7eda69 2026-05-06)" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          100:  .section .text.test_rtry,"",@ 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          101:  .section .custom_section.target_features,"",@ 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          102:  .int8 10 
check:62'0     ~~~~~~~~~~
          103:  .int8 43 
check:62'0     ~~~~~~~~~~
          104:  .int8 11 
check:62'0     ~~~~~~~~~~
          105:  .ascii "bulk-memory" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~
          106:  .int8 43 
check:62'0     ~~~~~~~~~~
          107:  .int8 15 
check:62'0     ~~~~~~~~~~
          108:  .ascii "bulk-memory-opt" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
          109:  .int8 43 
check:62'0     ~~~~~~~~~~
          110:  .int8 22 
check:62'0     ~~~~~~~~~~
          111:  .ascii "call-indirect-overlong" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          112:  .int8 43 
check:62'0     ~~~~~~~~~~
          113:  .int8 18 
check:62'0     ~~~~~~~~~~
          114:  .ascii "exception-handling" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          115:  .int8 43 
check:62'0     ~~~~~~~~~~
          116:  .int8 10 
check:62'0     ~~~~~~~~~~
          117:  .ascii "multivalue" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~
          118:  .int8 43 
check:62'0     ~~~~~~~~~~
          119:  .int8 15 
check:62'0     ~~~~~~~~~~
          120:  .ascii "mutable-globals" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
          121:  .int8 43 
check:62'0     ~~~~~~~~~~
          122:  .int8 19 
check:62'0     ~~~~~~~~~~
          123:  .ascii "nontrapping-fptoint" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          124:  .int8 43 
check:62'0     ~~~~~~~~~~
          125:  .int8 15 
check:62'0     ~~~~~~~~~~
          126:  .ascii "reference-types" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
          127:  .int8 43 
check:62'0     ~~~~~~~~~~
          128:  .int8 8 
check:62'0     ~~~~~~~~~
          129:  .ascii "sign-ext" 
check:62'0     ~~~~~~~~~~~~~~~~~~~
          130:  .int8 45 
check:62'0     ~~~~~~~~~~
          131:  .int8 10 
check:62'0     ~~~~~~~~~~
          132:  .ascii "shared-mem" 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~
          133:  .section .text.test_rtry,"",@ 
check:62'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>
------------------------------------------

---- [assembly] tests/assembly-llvm/wasm_exceptions.rs stdout end ----

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 6, 2026

⌛ Testing commit 0a193e1 with merge cc3d4f4...

Workflow: https://github.com/rust-lang/rust/actions/runs/25459263254

rust-bors Bot pushed a commit that referenced this pull request May 6, 2026
…uwer

Rollup of 3 pull requests

Successful merges:

 - #156061 (Support `-Cpanic=unwind` on WASI targets)
 - #156236 (resolve: Remove `MacroData`)
 - #155981 (Use special DefIds for aliases)
@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-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 6, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 6, 2026

This pull request was unapproved due to being closed.

Auto build was cancelled due to the PR being closed. Cancelled workflows:

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 6, 2026

💔 Test for bce7eda failed: CI. Failed job:

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

Labels

A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. 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-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants