Skip to content

Commit 5e95e7f

Browse files
committed
fix ICE when using #[no_mangle] on a generic item
1 parent e063ce5 commit 5e95e7f

2 files changed

Lines changed: 18 additions & 3 deletions

File tree

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,22 @@
11
fn main() {
2-
foo(1234);
2+
generic_type(123);
3+
generic_const::<456>();
4+
generic_lifetime(&789);
35
}
46

57
#[allow(no_mangle_generic_items)]
68
#[unsafe(no_mangle)]
7-
fn foo<T: std::fmt::Debug>(value: T) {
9+
fn generic_type<T: std::fmt::Debug>(value: T) {
810
println!("{value:?}");
911
}
12+
13+
#[expect(no_mangle_generic_items)]
14+
#[unsafe(no_mangle)]
15+
fn generic_const<const N: usize>() {
16+
println!("{N}");
17+
}
18+
19+
#[unsafe(no_mangle)]
20+
fn generic_lifetime<'a>(x: &'a i32) {
21+
println!("{x}");
22+
}
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
1234
1+
123
2+
456
3+
789

0 commit comments

Comments
 (0)