Bug 11273 – inequable template alias parameters can be mangled identically

Status
NEW
Severity
normal
Priority
P3
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-10-15T07:14:03Z
Last change time
2024-12-13T18:12:59Z
Assigned to
No Owner
Creator
Igor Stepanov
Moved to GitHub: dmd#18698 →

Attachments

IDFilenameSummaryContent-TypeSize
1265bug.dissue exampletext/x-dsrc1104

Comments

Comment #0 by wazar.leollone — 2013-10-15T07:14:03Z
For example: void test(alias a)() { } void main() { assert(test!(real.infinity).mangleof == test!(real.max).mangleof); } This fact means that different symbols (test!(real.infinity) and test!(real.max)) will be written into object file with the same name. It's cause ld warning in linux and VisualStudio linker error (see big example in attachment).
Comment #1 by wazar.leollone — 2013-10-15T07:15:42Z
Created attachment 1265 issue example
Comment #2 by robert.schadek — 2024-12-13T18:12:59Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/18698 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB