Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
11ff7c7
Auto merge of #158734 - nikic:llvm23, r=cuviper
bors Aug 5, 2026
27fbc4a
Auto merge of #159026 - WaffleLapkin:fallback-refactorings, r=lcnr
bors Aug 5, 2026
4bb41c5
set no_mangle_generic_items deny by default
HerrCai0907 Mar 30, 2026
33b5f0c
fix various tests
RalfJung Jul 24, 2026
1e7440f
Auto merge of #159343 - jackh726:enable-polonius-alpha, r=lqd,Kobzol
bors Aug 5, 2026
6345b18
Rollup merge of #159029 - erickt:lto-module-summaries, r=cuviper
JonathanBrouwer Aug 5, 2026
8bed93c
Rollup merge of #154585 - HerrCai0907:fix/no_mangle_generic_items, r=…
JonathanBrouwer Aug 5, 2026
eee8855
Rollup merge of #159473 - notriddle:rename-parts-to-dep-meta, r=camelid
JonathanBrouwer Aug 5, 2026
297783a
Rollup merge of #157489 - P8L1:split/coerceshared-wf-check, r=oli-obk
JonathanBrouwer Aug 5, 2026
e12b7be
Rollup merge of #160532 - ZuseZ4:enzyme-llvm-23-usability, r=ZuseZ4
JonathanBrouwer Aug 5, 2026
cb3b64e
Rollup merge of #160545 - ChayimFriedman2:ChayimFriedman2-patch-1, r=…
JonathanBrouwer Aug 5, 2026
dc17622
Rollup merge of #160558 - davidtwco:sve-revert-no-dbginfo-for-locals,…
JonathanBrouwer Aug 5, 2026
a95c1aa
Rollup merge of #160566 - amirHdev:reenable-bool-indexing-llvm23, r=Z…
JonathanBrouwer Aug 5, 2026
db3c41c
Rollup merge of #160569 - JonathanBrouwer:remove_on_duplicate_custom,…
JonathanBrouwer Aug 5, 2026
34d9b60
Rollup merge of #160576 - GuillaumeGomez:rustdoc-standalone-md, r=Urg…
JonathanBrouwer Aug 5, 2026
d948e9c
Auto merge of #160586 - JonathanBrouwer:rollup-UKh8PSn, r=JonathanBro…
bors Aug 5, 2026
5b12c2d
Auto merge of #160494 - xmakro:perf/hygiene-root-fastpaths, r=petroch…
bors Aug 6, 2026
2f22a4d
Prepare for merging from rust-lang/rust
Aug 6, 2026
53ecfa7
Merge ref 'f73951df0a55' from rust-lang/rust
Aug 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion rust-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7218ebe93668f51a94a572b690c433dfdbdc2c3d
f73951df0a5566d94d13b7954acd9f4ab1fa3734
10 changes: 1 addition & 9 deletions src/helpers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -132,15 +132,7 @@ pub fn iter_exported_symbols<'tcx>(
if !(used || codegen_attrs.contains_extern_indicator()) {
continue;
}
// FIXME: `#[no_mangle]` makes no sense on a generic item, but still causes it to be
// considered "extern". Remove this once `no_mangle_generic_items` is a hard error.
let mono = {
let generics = tcx.generics_of(def_id);
!generics.requires_monomorphization(tcx)
};
if mono {
f(LOCAL_CRATE, def_id.into(), used)?;
}
f(LOCAL_CRATE, def_id.into(), used)?;
}

// Next, all our dependencies.
Expand Down
12 changes: 4 additions & 8 deletions test-cargo-miri/issue-rust-86261/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#![allow(unused_imports, unused_attributes, no_mangle_generic_items)]
#![allow(unused_imports, unused_attributes)]

// Regression test for https://github.com/rust-lang/rust/issues/86261:
// `#[no_mangle]` on a `use` item.
Expand All @@ -14,10 +14,6 @@ pub struct NoMangleStruct;
#[export_name = "NoMangleStruct"]
fn no_mangle_struct() {}

// `#[no_mangle]` on a generic function can also cause ICEs.
#[no_mangle]
fn no_mangle_generic<T>() {}

// Same as `no_mangle_struct()` but for the `no_mangle_generic()` generic function.
#[export_name = "no_mangle_generic"]
fn no_mangle_generic2() {}
// Same as `no_mangle_struct()` but for the `no_mangle_struct()` function.
#[export_name = "no_mangle_struct"]
fn no_mangle_alias() {}
4 changes: 2 additions & 2 deletions test-cargo-miri/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -87,13 +87,13 @@ mod test {
fn assoc_fn_as_exported_symbol() -> i32;
fn make_true() -> bool;
fn NoMangleStruct();
fn no_mangle_generic();
fn no_mangle_struct();
}
assert_eq!(unsafe { exported_symbol() }, 123456);
assert_eq!(unsafe { assoc_fn_as_exported_symbol() }, -123456);
assert!(unsafe { make_true() });
unsafe { NoMangleStruct() }
unsafe { no_mangle_generic() }
unsafe { no_mangle_struct() }
}
}

Expand Down
22 changes: 0 additions & 22 deletions tests/pass/issues/issue-154385-no-mangle-generic.rs

This file was deleted.

3 changes: 0 additions & 3 deletions tests/pass/issues/issue-154385-no-mangle-generic.stdout

This file was deleted.