Anonymous allocations in statics get duplicated for multiple codegen units · Issue #79738 · rust-lang/rust (original) (raw)
Navigation Menu
- Explore
- Pricing
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Description
According to analysis performed by @bjorn3, this code actually leads to two allocations containing 42
, i.e., FOO
and BAR
point to different things. The linker later merges the two, so the issue is currently not directly observable. However, it becomes observable when things are mutable.
I think this is a bug. When a static is defined as pub static BAR: &i32 = crate::a::FOO;
, IMO we should guarantee that BAR
and FOO
have the same value. I see no lee-way here for duplicating the memory they both point to.
Cc @oli-obk