https://d.puremagic.com/issues/show_bug.cgi?id=12242
--- Comment #6 from Kenji Hara <[email protected]> 2014-03-23 08:57:48 PDT --- (In reply to comment #4) > This is not a compiler bug. It has nothing to do with 314. > The problem is that 'strip' is defined in both std.string and std.algorithm. This is a compiler bug on cross-module overload set handling. It's not directly related to issue 313 & 314. > test.d: > module test; > public: > import std.string; > import std.algorithm; In test.d, 'strip' is a cross module overload set (CMOS) of 'std.string.strip' and 'std.algorithm.strip'. > main.d: > import test; > import std.string; > void main(){ auto a=" af ".strip;} In main.d, 'strip' is a CMOS of the CMOS in test.d and 'std.stding.strip'. So, the newly created CMOS should be merged to the set [std.string.strip, std.algorithm.strip]. But currently OverloadSet and template cannot be merged into one OverloadSet object in ScopeDsymbol::search. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
