The error message is really hard to understand, and hard to reduce using dustmite (lots of large dependencies). Could we make dmd output more diagnostic information, eg fully qualified name of aliased symbols, eg: ``` module common.d; public import std.conv:to; ``` => Error: common.to(std.conv.to) at common.d conflicts with common.to(...) at common.d
update: fun.d(19): Error: common.to at /tmp/common.d conflicts with common.to at /tmp/common.d so it refers to the same file
ok here's a reproducible bug, turns out it's a regression: fun.d: import common3; import common2; void test(){ auto a="12".to!int; } common3.d: module common3; public import common2:to; common2.d: module common2; public: import std.conv; import std.datetime; $dmd_X -c -o- fun.d fun.d(XX): Error: common2.to at common2.d conflicts with common2.to at common2.d $dmd_X --version DMD64 D Compiler v2.072.0 worked with: DMD64 D Compiler v2.067.1 failed with: DMD64 D Compiler v2.068.0 (and DMD64 D Compiler v2.072.0)
@WalterBright created dlang/dmd pull request #10793 "fix Issue 16709 - [Reg 2.068] Error: common.to at common.d conflicts …" fixing this issue: - fix Issue 16709 - [Reg 2.068] Error: common.to at common.d conflicts with common.to at common.d https://github.com/dlang/dmd/pull/10793
dlang/dmd pull request #10793 "fix Issue 16709 - [Reg 2.068] Error: common.to at common.d conflicts …" was merged into master: - 340807a16dd14c7f61d1df9d3ded3aecd59263e0 by Walter Bright: fix Issue 16709 - [Reg 2.068] Error: common.to at common.d conflicts with common.to at common.d https://github.com/dlang/dmd/pull/10793