[Issue 12242] conflict error with public imports
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun Mar 23 08:57:55 PDT 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12242
--- Comment #6 from Kenji Hara <k.hara.pg at gmail.com> 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: -------
More information about the Digitalmars-d-bugs
mailing list