https://issues.dlang.org/show_bug.cgi?id=13774
Issue ID: 13774
Summary: Multiple definition of `conv_50c_dc8` with three
libraries and `std.file` import
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: regression
Priority: P1
Component: Phobos
Assignee: [email protected]
Reporter: [email protected]
The first library is Phobos. This code should build fine:
m1.d & m2.d:
---
import std.file;
---
Command (for Windows):
---
dmd -debug -lib m1.d
dmd -debug -lib m2.d m1.lib
---
m2.lib: Error: multiple definition of conv_50c_dc8:
_D3std4conv52__T18emplaceInitializerTSАЕдfile15DirIterato∙АГкZАФ▒FNaNbNcNeKАЬ║4iАГ▓yАЫв
and conv:
_D3std4conv52__T18emplaceInitializerTSАЕдfile15DirIterato∙АГкZАФ▒FNaNbNcNeKАЬ║4iАГ▓yАЫв
---
(command output is probably encoded in CP1251)
This issue almost blocks Phobos usage in real projects as it breaks building
libraries and linker error doesn't give any clue of its reason.
Also see Issue 13359.
Note: this report is about Phobos regression preventing its usage. Underlying
compiler bug is some critical bug triggered by current Phobos version.
Tools versions:
dmd: c0e814350948feac34946c29186d17518ea954dd
druntime: 2350ee4ec77d7b919454eb2f16d91b23c3891cb6
phobos: e46ccaae82d6ddbd0c98ac233562204c7007f296
--