Skip to content

Compiling retour triggers internal compiler error #145425

@phimuemue

Description

@phimuemue

Trying to compile retour in Rust 1.89 triggers an internal compiler error.

Code

cargo init cargo-1-89-0-ice
cd cargo-1-89-0-ice/
cargo add retour
cargo check

This leads to:

note: no errors encountered even though delayed bugs were created

note: those delayed bugs will now be shown as internal compiler errors

error: internal compiler error: invalid abi for platform should have reported an error: "stdcall"
   --> /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/macros.rs:219:9
    |
219 |           original($($nm),*)
    |           ^^^^^^^^^^^^^^^^^^
    |
   ::: /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/traits.rs:27:1
    |
27  | / impl_hookable! {
28  | |   __arg_0:  A, __arg_1:  B, __arg_2:  C, __arg_3:  D, __arg_4:  E, __arg_5:  F, __arg_6:  G,
29  | |   __arg_7:  H, __arg_8:  I, __arg_9:  J, __arg_10: K, __arg_11: L, __arg_12: M, __arg_13: N
30  | | }
    | |_- in this macro invocation
    |
note: delayed at compiler/rustc_hir_typeck/src/callee.rs:162:39 - disabled backtrace
   --> /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/macros.rs:219:9
    |
219 |           original($($nm),*)
    |           ^^^^^^^^^^^^^^^^^^
    |
   ::: /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/traits.rs:27:1
    |
27  | / impl_hookable! {
28  | |   __arg_0:  A, __arg_1:  B, __arg_2:  C, __arg_3:  D, __arg_4:  E, __arg_5:  F, __arg_6:  G,
29  | |   __arg_7:  H, __arg_8:  I, __arg_9:  J, __arg_10: K, __arg_11: L, __arg_12: M, __arg_13: N
30  | | }
    | |_- in this macro invocation
    = note: this error: internal compiler error originates in the macro `impl_hookable` (in Nightly builds, run with -Z macro-backtrace for more info)

error: internal compiler error: invalid abi for platform should have reported an error: "stdcall"
   --> /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/macros.rs:241:11
    |
241 |             original($($nm),*)
    |             ^^^^^^^^^^^^^^^^^^
    |
   ::: /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/traits.rs:27:1
    |
27  | / impl_hookable! {
28  | |   __arg_0:  A, __arg_1:  B, __arg_2:  C, __arg_3:  D, __arg_4:  E, __arg_5:  F, __arg_6:  G,
29  | |   __arg_7:  H, __arg_8:  I, __arg_9:  J, __arg_10: K, __arg_11: L, __arg_12: M, __arg_13: N
30  | | }
    | |_- in this macro invocation
    |
note: delayed at compiler/rustc_hir_typeck/src/callee.rs:162:39 - disabled backtrace
   --> /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/macros.rs:241:11
    |
241 |             original($($nm),*)
    |             ^^^^^^^^^^^^^^^^^^
    |
   ::: /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/traits.rs:27:1
    |
27  | / impl_hookable! {
28  | |   __arg_0:  A, __arg_1:  B, __arg_2:  C, __arg_3:  D, __arg_4:  E, __arg_5:  F, __arg_6:  G,
29  | |   __arg_7:  H, __arg_8:  I, __arg_9:  J, __arg_10: K, __arg_11: L, __arg_12: M, __arg_13: N
30  | | }
    | |_- in this macro invocation
    = note: this error: internal compiler error originates in the macro `impl_hookable` (in Nightly builds, run with -Z macro-backtrace for more info)

error: internal compiler error: invalid abi for platform should have reported an error: "fastcall"
   --> /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/macros.rs:219:9
    |
219 |           original($($nm),*)
    |           ^^^^^^^^^^^^^^^^^^
    |
   ::: /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/traits.rs:27:1
    |
27  | / impl_hookable! {
28  | |   __arg_0:  A, __arg_1:  B, __arg_2:  C, __arg_3:  D, __arg_4:  E, __arg_5:  F, __arg_6:  G,
29  | |   __arg_7:  H, __arg_8:  I, __arg_9:  J, __arg_10: K, __arg_11: L, __arg_12: M, __arg_13: N
30  | | }
    | |_- in this macro invocation
    |
note: delayed at compiler/rustc_hir_typeck/src/callee.rs:162:39 - disabled backtrace
   --> /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/macros.rs:219:9
    |
219 |           original($($nm),*)
    |           ^^^^^^^^^^^^^^^^^^
    |
   ::: /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/traits.rs:27:1
    |
27  | / impl_hookable! {
28  | |   __arg_0:  A, __arg_1:  B, __arg_2:  C, __arg_3:  D, __arg_4:  E, __arg_5:  F, __arg_6:  G,
29  | |   __arg_7:  H, __arg_8:  I, __arg_9:  J, __arg_10: K, __arg_11: L, __arg_12: M, __arg_13: N
30  | | }
    | |_- in this macro invocation
    = note: this error: internal compiler error originates in the macro `impl_hookable` (in Nightly builds, run with -Z macro-backtrace for more info)

error: internal compiler error: invalid abi for platform should have reported an error: "fastcall"
   --> /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/macros.rs:241:11
    |
241 |             original($($nm),*)
    |             ^^^^^^^^^^^^^^^^^^
    |
   ::: /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/traits.rs:27:1
    |
27  | / impl_hookable! {
28  | |   __arg_0:  A, __arg_1:  B, __arg_2:  C, __arg_3:  D, __arg_4:  E, __arg_5:  F, __arg_6:  G,
29  | |   __arg_7:  H, __arg_8:  I, __arg_9:  J, __arg_10: K, __arg_11: L, __arg_12: M, __arg_13: N
30  | | }
    | |_- in this macro invocation
    |
note: delayed at compiler/rustc_hir_typeck/src/callee.rs:162:39 - disabled backtrace
   --> /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/macros.rs:241:11
    |
241 |             original($($nm),*)
    |             ^^^^^^^^^^^^^^^^^^
    |
   ::: /home/philipp/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/retour-0.3.1/src/traits.rs:27:1
    |
27  | / impl_hookable! {
28  | |   __arg_0:  A, __arg_1:  B, __arg_2:  C, __arg_3:  D, __arg_4:  E, __arg_5:  F, __arg_6:  G,
29  | |   __arg_7:  H, __arg_8:  I, __arg_9:  J, __arg_10: K, __arg_11: L, __arg_12: M, __arg_13: N
30  | | }
    | |_- in this macro invocation
    = note: this error: internal compiler error originates in the macro `impl_hookable` (in Nightly builds, run with -Z macro-backtrace for more info)

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

Compiler info:

note: rustc 1.89.0 (29483883e 2025-08-04) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2

note: some of the compiler flags provided by cargo are hidden

Note: I am unsure if this is Rust's turf or retour's (or something else) - I just filed a report because cargo asked me to.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions