-
-
Notifications
You must be signed in to change notification settings - Fork 16k
Splat is ignored in symbol mangling, leading to symbol clashes #158644
Copy link
Copy link
Closed
Labels
A-name-manglingArea: Name mangling / decoration aka symbol manglingArea: Name mangling / decoration aka symbol manglingC-bugCategory: This is a bug.Category: This is a bug.F-splat`#![feature(splat)]` https://github.com/rust-lang/rust/issues/153629`#![feature(splat)]` https://github.com/rust-lang/rust/issues/153629T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Description
Activity
Metadata
Metadata
Assignees
Labels
A-name-manglingArea: Name mangling / decoration aka symbol manglingArea: Name mangling / decoration aka symbol manglingC-bugCategory: This is a bug.Category: This is a bug.F-splat`#![feature(splat)]` https://github.com/rust-lang/rust/issues/153629`#![feature(splat)]` https://github.com/rust-lang/rust/issues/153629T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
I tried this code:
These directives seem to increase the chance of the error:
I expected to see this happen:
No symbol clashes, either the symbol data is the same (and therefore merged), or it is different, and mangled differently.
Instead, this happened:
When I rebuild the file multiple times with small changes, I eventually get:
Meta
rustc version:
In #153697, we decided not to include splat in symbol mangling. This is likely the cause of this error.
@rustbot label +C-bug +F-splat +T-compiler
cc @oli-obk