From 5e95e7f6ac3ed7d8b8a01ef1f3477ec2dd24cba2 Mon Sep 17 00:00:00 2001 From: Folkert de Vries Date: Sun, 28 Jun 2026 12:42:03 +0200 Subject: [PATCH] fix ICE when using `#[no_mangle]` on a generic item --- .../issues/issue-154385-no-mangle-generic.rs | 17 +++++++++++++++-- .../issue-154385-no-mangle-generic.stdout | 4 +++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/tests/pass/issues/issue-154385-no-mangle-generic.rs b/tests/pass/issues/issue-154385-no-mangle-generic.rs index 0989cdd86a..90fa021863 100644 --- a/tests/pass/issues/issue-154385-no-mangle-generic.rs +++ b/tests/pass/issues/issue-154385-no-mangle-generic.rs @@ -1,9 +1,22 @@ fn main() { - foo(1234); + generic_type(123); + generic_const::<456>(); + generic_lifetime(&789); } #[allow(no_mangle_generic_items)] #[unsafe(no_mangle)] -fn foo(value: T) { +fn generic_type(value: T) { println!("{value:?}"); } + +#[expect(no_mangle_generic_items)] +#[unsafe(no_mangle)] +fn generic_const() { + println!("{N}"); +} + +#[unsafe(no_mangle)] +fn generic_lifetime<'a>(x: &'a i32) { + println!("{x}"); +} diff --git a/tests/pass/issues/issue-154385-no-mangle-generic.stdout b/tests/pass/issues/issue-154385-no-mangle-generic.stdout index 81c545efeb..af7864ba2f 100644 --- a/tests/pass/issues/issue-154385-no-mangle-generic.stdout +++ b/tests/pass/issues/issue-154385-no-mangle-generic.stdout @@ -1 +1,3 @@ -1234 +123 +456 +789