Make no_mangle on foreign items explicit instead of implicit by jdonszelmann · Pull Request #144678 · rust-lang/rust

@rustbot rustbot added A-attributes

Area: Attributes (`#[…]`, `#![…]`)

S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

T-compiler

Relevant to the compiler team, which will review and decide on the PR/issue.

labels

Jul 30, 2025

bjorn3

bjorn3

bjorn3

bjorn3

@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

Aug 1, 2025

Zalathar added a commit to Zalathar/rust that referenced this pull request

Aug 3, 2025
…jorn3

Make no_mangle on foreign items explicit instead of implicit

for a followup PR I'm working on I need some foreign items to mangle. I could add a new attribute: `no_no_mangle` or something silly like that but by explicitly putting `no_mangle` in the codegen fn attrs of foreign items we can default it to `no_mangle` and then easily remove it when we don't want it.

I guess you'd know about this r? `@bjorn3.` Shouldn't be too hard to review :)

Builds on rust-lang#144655 which should merge first.

bors added a commit that referenced this pull request

Aug 3, 2025
Rollup of 13 pull requests

Successful merges:

 - #143857 (Port #[macro_export] to the new attribute parsing infrastructure)
 - #144070 (Implement `hash_map` macro )
 - #144322 (Add lint against dangling pointers from local variables)
 - #144667 (`AlignmentEnum` should just be `repr(usize)` now)
 - #144678 (Make no_mangle on foreign items explicit instead of implicit)
 - #144790 (Multiple bounds checking elision failures)
 - #144794 (Port `#[coroutine]` to the new attribute system)
 - #144805 (compiletest: Preliminary cleanup of `ProcRes` printing/unwinding)
 - #144808 (`Interner` arg to `EarlyBinder` does not affect auto traits)
 - #144816 (Update E0562 to account for the new impl trait positions)
 - #144822 (Return a struct with named fields from `hash_owner_nodes`)
 - #144824 (Updated test links in compiler)
 - #144829 (Use full flag name in strip command for Darwin)

r? `@ghost`
`@rustbot` modify labels: rollup

rust-bors bot added a commit that referenced this pull request

Aug 3, 2025
Make no_mangle on foreign items explicit instead of implicit

try-job: test-various

@bors bors removed the S-waiting-on-bors

Status: Waiting on bors to run and complete tests. Bors will change the label on completion.

label

Aug 3, 2025

bjorn3

jhpratt added a commit to jhpratt/rust that referenced this pull request

Aug 17, 2025
…ts, r=jdonszelmann

Couple of codegen_fn_attrs improvements

As noted in rust-lang#144678 (comment) here is no need to keep link_name and export_name separate, which the third commit fixes by merging them. The second commit removes some dead code and the first commit merges two ifs with equivalent conditions. The last commit is an unrelated change which removes an unused `feature(autodiff)`.

jhpratt added a commit to jhpratt/rust that referenced this pull request

Aug 17, 2025
…ts, r=jdonszelmann

Couple of codegen_fn_attrs improvements

As noted in rust-lang#144678 (comment) here is no need to keep link_name and export_name separate, which the third commit fixes by merging them. The second commit removes some dead code and the first commit merges two ifs with equivalent conditions. The last commit is an unrelated change which removes an unused `feature(autodiff)`.

Zalathar added a commit to Zalathar/rust that referenced this pull request

Aug 18, 2025
…ts, r=jdonszelmann

Couple of codegen_fn_attrs improvements

As noted in rust-lang#144678 (comment) here is no need to keep link_name and export_name separate, which the third commit fixes by merging them. The second commit removes some dead code and the first commit merges two ifs with equivalent conditions. The last commit is an unrelated change which removes an unused `feature(autodiff)`.

Zalathar added a commit to Zalathar/rust that referenced this pull request

Aug 18, 2025
…ts, r=jdonszelmann

Couple of codegen_fn_attrs improvements

As noted in rust-lang#144678 (comment) here is no need to keep link_name and export_name separate, which the third commit fixes by merging them. The second commit removes some dead code and the first commit merges two ifs with equivalent conditions. The last commit is an unrelated change which removes an unused `feature(autodiff)`.

jhpratt added a commit to jhpratt/rust that referenced this pull request

Aug 18, 2025
…ts, r=jdonszelmann

Couple of codegen_fn_attrs improvements

As noted in rust-lang#144678 (comment) here is no need to keep link_name and export_name separate, which the third commit fixes by merging them. The second commit removes some dead code and the first commit merges two ifs with equivalent conditions. The last commit is an unrelated change which removes an unused `feature(autodiff)`.

jhpratt added a commit to jhpratt/rust that referenced this pull request

Aug 18, 2025
…ts, r=jdonszelmann

Couple of codegen_fn_attrs improvements

As noted in rust-lang#144678 (comment) here is no need to keep link_name and export_name separate, which the third commit fixes by merging them. The second commit removes some dead code and the first commit merges two ifs with equivalent conditions. The last commit is an unrelated change which removes an unused `feature(autodiff)`.

jieyouxu added a commit to jieyouxu/rust that referenced this pull request

Aug 19, 2025
…ts, r=jdonszelmann

Couple of codegen_fn_attrs improvements

As noted in rust-lang#144678 (comment) here is no need to keep link_name and export_name separate, which the third commit fixes by merging them. The second commit removes some dead code and the first commit merges two ifs with equivalent conditions. The last commit is an unrelated change which removes an unused `feature(autodiff)`.

jieyouxu added a commit to jieyouxu/rust that referenced this pull request

Aug 19, 2025
…ts, r=jdonszelmann

Couple of codegen_fn_attrs improvements

As noted in rust-lang#144678 (comment) here is no need to keep link_name and export_name separate, which the third commit fixes by merging them. The second commit removes some dead code and the first commit merges two ifs with equivalent conditions. The last commit is an unrelated change which removes an unused `feature(autodiff)`.

rust-timer added a commit that referenced this pull request

Aug 19, 2025
Rollup merge of #145429 - bjorn3:codegen_fn_attrs_improvements, r=jdonszelmann

Couple of codegen_fn_attrs improvements

As noted in #144678 (comment) here is no need to keep link_name and export_name separate, which the third commit fixes by merging them. The second commit removes some dead code and the first commit merges two ifs with equivalent conditions. The last commit is an unrelated change which removes an unused `feature(autodiff)`.

github-actions bot pushed a commit to rust-lang/miri that referenced this pull request

Aug 20, 2025
…nszelmann

Couple of codegen_fn_attrs improvements

As noted in rust-lang/rust#144678 (comment) here is no need to keep link_name and export_name separate, which the third commit fixes by merging them. The second commit removes some dead code and the first commit merges two ifs with equivalent conditions. The last commit is an unrelated change which removes an unused `feature(autodiff)`.

flip1995 pushed a commit to flip1995/rust that referenced this pull request

Aug 22, 2025
Make no_mangle on foreign items explicit instead of implicit

for a followup PR I'm working on I need some foreign items to mangle. I could add a new attribute: `no_no_mangle` or something silly like that but by explicitly putting `no_mangle` in the codegen fn attrs of foreign items we can default it to `no_mangle` and then easily remove it when we don't want it.

I guess you'd know about this r? `@bjorn3.` Shouldn't be too hard to review :)

Builds on rust-lang#144655 which should merge first.

github-actions bot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request

Aug 25, 2025
…nszelmann

Couple of codegen_fn_attrs improvements

As noted in rust-lang/rust#144678 (comment) here is no need to keep link_name and export_name separate, which the third commit fixes by merging them. The second commit removes some dead code and the first commit merges two ifs with equivalent conditions. The last commit is an unrelated change which removes an unused `feature(autodiff)`.

alexcrichton added a commit to alexcrichton/rust that referenced this pull request

Nov 1, 2025
This commit fixes an accidental regression from rust-lang#144678 where wasm
targets would now accidentally use the wrong import module map for a
symbol causing a symbol to skip mangling. This can result in compilation
failures when symbols are used in cross-crate situations.

Closes rust-lang#148347

alexcrichton added a commit to alexcrichton/rust that referenced this pull request

Nov 1, 2025
This commit fixes an accidental regression from rust-lang#144678 where wasm
targets would now accidentally use the wrong import module map for a
symbol causing a symbol to skip mangling. This can result in compilation
failures when symbols are used in cross-crate situations.

Closes 148347

GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request

Nov 3, 2025
…=jackh726

Fix `wasm_import_module` attribute cross-crate

This commit fixes an accidental regression from rust-lang#144678 where wasm targets would now accidentally use the wrong import module map for a symbol causing a symbol to skip mangling. This can result in compilation failures when symbols are used in cross-crate situations.

Closes rust-lang#148347

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request

Nov 3, 2025
…=jackh726

Fix `wasm_import_module` attribute cross-crate

This commit fixes an accidental regression from rust-lang#144678 where wasm targets would now accidentally use the wrong import module map for a symbol causing a symbol to skip mangling. This can result in compilation failures when symbols are used in cross-crate situations.

Closes rust-lang#148347

rust-timer added a commit that referenced this pull request

Nov 4, 2025
Rollup merge of #148363 - alexcrichton:fix-wasm-link-name, r=jackh726

Fix `wasm_import_module` attribute cross-crate

This commit fixes an accidental regression from #144678 where wasm targets would now accidentally use the wrong import module map for a symbol causing a symbol to skip mangling. This can result in compilation failures when symbols are used in cross-crate situations.

Closes #148347