Skip to content

Conversation

@jhpratt
Copy link
Member

@jhpratt jhpratt commented Jan 4, 2026

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Enselic and others added 12 commits December 23, 2025 15:33
…tests

This not only reduces code duplication already, it also gives us
revision parsing for free which we need in an upcoming commit.
…, `no-SingleUseConsts-mir-pass`

To prevent the test from regressing both with and without
`SingleUseConsts` MIR pass.
     Locking 64 packages to latest compatible versions
    Updating addr2line v0.24.2 -> v0.25.1
    Updating anstyle-svg v0.1.11 -> v0.1.12
    Updating backtrace v0.3.75 -> v0.3.76
    Updating bumpalo v3.19.0 -> v3.19.1
    Updating camino v1.2.1 -> v1.2.2
    Updating cargo-platform v0.3.1 -> v0.3.2
    Updating clap v4.5.51 -> v4.5.53
    Updating clap_builder v4.5.51 -> v4.5.53
      Adding console v0.16.2
    Updating cxx v1.0.188 -> v1.0.192
    Updating cxx-build v1.0.188 -> v1.0.192
    Updating cxxbridge-cmd v1.0.188 -> v1.0.192
    Updating cxxbridge-flags v1.0.188 -> v1.0.192
    Updating cxxbridge-macro v1.0.188 -> v1.0.192
    Updating dbus v0.9.9 -> v0.9.10
    Updating git2 v0.20.2 -> v0.20.3
    Updating hashbrown v0.16.0 -> v0.16.1
    Updating icu_properties v2.1.1 -> v2.1.2
    Updating icu_properties_data v2.1.1 -> v2.1.2
    Updating indexmap v2.12.0 -> v2.12.1
      Adding indicatif v0.18.3
    Updating itoa v1.0.15 -> v1.0.16
    Updating js-sys v0.3.82 -> v0.3.83
    Updating libc v0.2.177 -> v0.2.178
    Updating libdbus-sys v0.2.6 -> v0.2.7
    Updating libgit2-sys v0.18.2+1.9.1 -> v0.18.3+1.9.2
    Updating libredox v0.1.10 -> v0.1.11
    Updating log v0.4.28 -> v0.4.29
    Updating mio v1.1.0 -> v1.1.1
    Updating pest v2.8.3 -> v2.8.4
    Updating pest_derive v2.8.3 -> v2.8.4
    Updating pest_generator v2.8.3 -> v2.8.4
    Updating pest_meta v2.8.3 -> v2.8.4
    Updating portable-atomic v1.11.1 -> v1.12.0
      Adding redox_syscall v0.6.0
    Updating ryu v1.0.20 -> v1.0.21
    Updating serde_spanned v1.0.3 -> v1.0.4
    Updating simd-adler32 v0.3.7 -> v0.3.8
    Updating syn v2.0.110 -> v2.0.111
    Updating toml v0.9.8 -> v0.9.10+spec-1.1.0
    Updating toml_datetime v0.7.3 -> v0.7.5+spec-1.1.0
    Updating toml_parser v1.0.4 -> v1.0.6+spec-1.1.0
    Updating toml_writer v1.0.4 -> v1.0.6+spec-1.1.0
    Updating tracing v0.1.41 -> v0.1.44
    Updating tracing-attributes v0.1.30 -> v0.1.31
    Updating tracing-core v0.1.34 -> v0.1.36
    Updating tracing-subscriber v0.3.20 -> v0.3.22
    Updating ui_test v0.30.3 -> v0.30.4
    Updating unicode-ident v1.0.18 -> v1.0.22
    Updating unicode-script v0.5.7 -> v0.5.8
      Adding unit-prefix v0.5.2
    Updating utf8-width v0.1.7 -> v0.1.8
    Updating uuid v1.18.1 -> v1.19.0
    Updating wasm-bindgen v0.2.105 -> v0.2.106
    Updating wasm-bindgen-macro v0.2.105 -> v0.2.106
    Updating wasm-bindgen-macro-support v0.2.105 -> v0.2.106
    Updating wasm-bindgen-shared v0.2.105 -> v0.2.106
      Adding wasm-encoder v0.243.0
      Adding wasmparser v0.243.0
    Updating wast v241.0.2 -> v243.0.0
    Updating wat v1.241.2 -> v1.243.0
    Updating winnow v0.7.13 -> v0.7.14
    Updating zerocopy v0.8.27 -> v0.8.31
    Updating zerocopy-derive v0.8.27 -> v0.8.31
    Updating dlmalloc v0.2.11 -> v0.2.12
    Updating windows-sys v0.60.2 -> v0.61.2
    Removing windows-targets v0.53.5
    Removing windows_aarch64_gnullvm v0.53.1
    Removing windows_aarch64_msvc v0.53.1
    Removing windows_i686_gnu v0.53.1
    Removing windows_i686_gnullvm v0.53.1
    Removing windows_i686_msvc v0.53.1
    Removing windows_x86_64_gnu v0.53.1
    Removing windows_x86_64_gnullvm v0.53.1
    Removing windows_x86_64_msvc v0.53.1
    Updating anstyle-query v1.1.4 -> v1.1.5
    Updating anstyle-wincon v3.0.10 -> v3.0.11
    Updating bumpalo v3.19.0 -> v3.19.1
    Updating cc v1.2.45 -> v1.2.50
    Updating clap v4.5.51 -> v4.5.53
    Updating clap_builder v4.5.51 -> v4.5.53
    Updating crypto-common v0.1.6 -> v0.1.7
    Updating find-msvc-tools v0.1.4 -> v0.1.5
 Downgrading generic-array v0.14.9 -> v0.14.7 (available: v0.14.9)
    Updating itoa v1.0.15 -> v1.0.16
    Updating js-sys v0.3.82 -> v0.3.83
    Updating libc v0.2.177 -> v0.2.178
    Updating log v0.4.28 -> v0.4.29
    Updating pest v2.8.3 -> v2.8.4
    Updating pest_derive v2.8.3 -> v2.8.4
    Updating pest_generator v2.8.3 -> v2.8.4
    Updating pest_meta v2.8.3 -> v2.8.4
    Updating ryu v1.0.20 -> v1.0.21
    Updating serde_spanned v1.0.3 -> v1.0.4
    Updating simd-adler32 v0.3.7 -> v0.3.8
    Updating syn v2.0.110 -> v2.0.111
    Updating toml v0.9.8 -> v0.9.10+spec-1.1.0
    Updating toml_datetime v0.7.3 -> v0.7.5+spec-1.1.0
    Updating toml_parser v1.0.4 -> v1.0.6+spec-1.1.0
    Updating toml_writer v1.0.4 -> v1.0.6+spec-1.1.0
    Updating tracing v0.1.43 -> v0.1.44
    Updating tracing-core v0.1.35 -> v0.1.36
    Updating wasm-bindgen v0.2.105 -> v0.2.106
    Updating wasm-bindgen-macro v0.2.105 -> v0.2.106
    Updating wasm-bindgen-macro-support v0.2.105 -> v0.2.106
    Updating wasm-bindgen-shared v0.2.105 -> v0.2.106
    Removing windows-sys v0.60.2
    Removing windows-targets v0.53.5
    Removing windows_aarch64_gnullvm v0.53.1
    Removing windows_aarch64_msvc v0.53.1
    Removing windows_i686_gnu v0.53.1
    Removing windows_i686_gnullvm v0.53.1
    Removing windows_i686_msvc v0.53.1
    Removing windows_x86_64_gnu v0.53.1
    Removing windows_x86_64_gnullvm v0.53.1
    Removing windows_x86_64_msvc v0.53.1
    Updating winnow v0.7.13 -> v0.7.14
Now `Iterator::last`'s docs specify that it might panic only if the iterator is infinite, rather than if it has more than `usize::MAX` elements.
…, r=Zalathar

compiletest: Support revisions in debuginfo (read: debugger) tests

And start using revisions in `tests/debuginfo/macro-stepping.rs` to prevent regressing both with and without `SingleUseConsts` MIR pass.

I recommend commit-by-commit review.

## ~TODO~

- [x] Verify this more carefully.
- [x] Possibly do some preparatory PRs before taking this PR out of draft.
    - [x] Rebase on rust-lang#150205 once merged so we don't have to add another "`+ 1`".

## CC

CC `@Zalathar` since you might have opinions about that I expose a helper function to reduce duplication

CC `@saethlin` since this is what we will use for `tests/debuginfo/basic-stepping.rs` in rust-lang#147426 (in the same way I use it in `tests/debuginfo/macro-stepping.rs` here)
…_12_25, r=jdonszelmann

Weekly `cargo update`

~~Pins the current versions of some Unicode-related crates while waiting for rust-lang#148321 to land.~~
…pratt

mutex.rs: remove needless-maybe-unsized bounds

Fixes for:

```text
warning: `?Sized` bound is ignored because of a `Sized` requirement
   --> library/std/src/sync/nonpoison/mutex.rs:425:9
    |
425 | impl<T: ?Sized + Default> Default for Mutex<T> {
    |         ^^^^^^
    |
note: `T` cannot be unsized because of the bound
   --> library/std/src/sync/nonpoison/mutex.rs:425:18
    |
425 | impl<T: ?Sized + Default> Default for Mutex<T> {
    |                  ^^^^^^^
    = note: ...because `Default` has the bound `Sized`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized
    = note: `-W clippy::needless-maybe-sized` implied by `-W clippy::suspicious`
    = help: to override `-W clippy::suspicious` add `#[allow(clippy::needless_maybe_sized)]`
help: change the bounds that require `Sized`, or remove the `?Sized` bound
    |
425 - impl<T: ?Sized + Default> Default for Mutex<T> {
425 + impl<T: Default> Default for Mutex<T> {
    |

warning: `?Sized` bound is ignored because of a `Sized` requirement
   --> library/std/src/sync/poison/mutex.rs:691:9
    |
691 | impl<T: ?Sized + Default> Default for Mutex<T> {
    |         ^^^^^^
    |
note: `T` cannot be unsized because of the bound
   --> library/std/src/sync/poison/mutex.rs:691:18
    |
691 | impl<T: ?Sized + Default> Default for Mutex<T> {
    |                  ^^^^^^^
    = note: ...because `Default` has the bound `Sized`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized
help: change the bounds that require `Sized`, or remove the `?Sized` bound
    |
691 - impl<T: ?Sized + Default> Default for Mutex<T> {
691 + impl<T: Default> Default for Mutex<T> {
```
Clarify panic conditions in `Iterator::last`

Follow-up PR to rust-lang#150580.

Now `Iterator::last`'s docs specify that it might panic only if the iterator is infinite, rather than if it has more than `usize::MAX` elements.

# Motivation
This is because `Iterator::last`, unlike `count`, also works on iterators with more than `usize::MAX` elements, but could panic on infinite iterators (as in `Repeat`), as discussed in rust-lang#150580.

r? `@jhpratt`
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Jan 4, 2026
@jhpratt
Copy link
Member Author

jhpratt commented Jan 4, 2026

@bors r+ rollup=never p=4

@bors
Copy link
Collaborator

bors commented Jan 4, 2026

📌 Commit ffc77c2 has been approved by jhpratt

It is now in the queue for this repository.

@bors bors 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 Jan 4, 2026
@bors
Copy link
Collaborator

bors commented Jan 4, 2026

⌛ Testing commit ffc77c2 with merge 74ee5ed...

bors added a commit that referenced this pull request Jan 4, 2026
Rollup of 4 pull requests

Successful merges:

 - #150201 (compiletest: Support revisions in debuginfo (read: debugger) tests)
 - #150225 (Weekly `cargo update`)
 - #150642 (mutex.rs: remove needless-maybe-unsized bounds)
 - #150658 (Clarify panic conditions in `Iterator::last`)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] dirs_sys test:false 0.231
error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn() -> _`
                  found fn item `unsafe extern "system" fn() -> _ {windows_sys::SymGetOptions}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_) -> _`
                  found fn item `unsafe extern "system" fn(_) -> _ {windows_sys::SymSetOptions}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_, _, _) -> _`
                  found fn item `unsafe extern "system" fn(_, _, _) -> _ {windows_sys::SymInitializeW}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_, _, _) -> _`
                  found fn item `unsafe extern "system" fn(_, _, _) -> _ {windows_sys::SymGetSearchPathW}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_, _) -> _`
                  found fn item `unsafe extern "system" fn(_, _) -> _ {windows_sys::SymSetSearchPathW}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_, core::option::Option<_>, _) -> _`
                  found fn item `unsafe extern "system" fn(_, core::option::Option<_>, _) -> _ {windows_sys::EnumerateLoadedModulesW64}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_, _, _, _, _, core::option::Option<_>, core::option::Option<_>, core::option::Option<_>, core::option::Option<_>) -> _`
                  found fn item `unsafe extern "system" fn(_, _, _, _, _, core::option::Option<_>, core::option::Option<_>, core::option::Option<_>, core::option::Option<_>) -> _ {windows_sys::StackWalk64}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_, _) -> _`
                  found fn item `unsafe extern "system" fn(_, _) -> _ {windows_sys::SymFunctionTableAccess64}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_, _) -> _`
                  found fn item `unsafe extern "system" fn(_, _) -> _ {windows_sys::SymGetModuleBase64}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_, _, _, _) -> _`
                  found fn item `unsafe extern "system" fn(_, _, _, _) -> _ {windows_sys::SymFromAddrW}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_, _, _, _) -> _`
                  found fn item `unsafe extern "system" fn(_, _, _, _) -> _ {windows_sys::SymGetLineFromAddrW64}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_, _, _, _, _, core::option::Option<_>, core::option::Option<_>, core::option::Option<_>, core::option::Option<_>, _) -> _`
                  found fn item `unsafe extern "system" fn(_, _, _, _, _, core::option::Option<_>, core::option::Option<_>, core::option::Option<_>, core::option::Option<_>, _) -> _ {windows_sys::StackWalkEx}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_, _, _, _, _) -> _`
                  found fn item `unsafe extern "system" fn(_, _, _, _, _) -> _ {windows_sys::SymFromInlineContextW}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_, _, _, _, _, _) -> _`
                  found fn item `unsafe extern "system" fn(_, _, _, _, _, _) -> _ {windows_sys::SymGetLineFromInlineContextW}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_, _) -> _`
                  found fn item `unsafe extern "system" fn(_, _) -> _ {windows_sys::SymAddrIncludeInlineTrace}`

error[E0308]: mismatched types
   --> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\backtrace-0.3.76\src\dbghelp.rs:87:76
    |
 35 | / macro_rules! dbghelp {
 36 | |     (extern "system" {
 37 | |         $(fn $name:ident($($arg:ident: $argty:ty),*) -> $ret: ty;)*
 38 | |     }) => (
...   |
 87 | |                         let _: unsafe extern "C" fn($($argty),*) -> $ret = super::windows_sys::$name;
    | |                                -----------------------------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected "C" fn, found "system" fn
    | |                                |
    | |                                expected due to this
...   |
126 | | }
    | |_- in this expansion of `dbghelp!`
127 |
128 | / dbghelp! {
129 | |     extern "system" {
130 | |         fn SymGetOptions() -> u32;
131 | |         fn SymSetOptions(options: u32) -> u32;
...   |
223 | | }
    | |_- in this macro invocation
    |
    = note: expected fn pointer `unsafe extern "C" fn(_, _, _, _, _, _, _) -> _`
                  found fn item `unsafe extern "system" fn(_, _, _, _, _, _, _) -> _ {windows_sys::SymQueryInlineTrace}`

For more information about this error, try `rustc --explain E0308`.
[RUSTC-TIMING] backtrace test:false 0.635
error: could not compile `backtrace` (lib) due to 16 previous errors
warning: build failed, waiting for other jobs to finish...

@bors
Copy link
Collaborator

bors commented Jan 4, 2026

💔 Test failed - checks-actions

@bors bors 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 Jan 4, 2026
@Zalathar Zalathar closed this Jan 4, 2026
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 4, 2026
@jhpratt jhpratt deleted the rollup-xm7nf5h branch January 4, 2026 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants