Why does std.string use public imports?

simendsjo simendsjo at gmail.com
Thu Jun 30 16:22:16 PDT 2011


On 01.07.2011 01:14, Andrej Mitrovic wrote:
> I'm referring to these two in std.string:
> public import std.algorithm : startsWith, endsWith, cmp, count;
> public import std.array : join, split;
>
> Because whenever I try to use .count in my code:
>
> import std.stdio;
> import std.string;
> import std.utf;
>
> void main()
> {
>      writeln("foo".count);
> }
>
> std.utf.count conflicts with std.string's publicly imported std.algorithm.count
>
> Can we avoid public imports in modules? The rise of conflicts in
> Phobos is getting slightly annoying.

I cannot comment on the count issue, but if I was to import only 
std.string and I was missing basic functionality like the ones imported 
here, it would have annoyed me :) So it's good if it makes sense I think.


More information about the Digitalmars-d-learn mailing list