importing std.algorithm breaks std.string.count
Seth Hoenig
seth.a.hoenig at gmail.com
Fri Sep 17 14:15:31 PDT 2010
I have these two minimal programs:
import std.string;
void main()
{
string str = "abc";
int i = str.count("ab");
}
and:
import std.string;
import std.algorithm;
void main()
{
string str = "abc";
int i = str.count("ab");
}
The only difference is line 2, where I import std.algorithm.
The first program compiles fine, but the second program does not compile,
spitting out the error message:
bash-3.2$ dmd -ofdummy dummy.d
/u/sah2659/dmd2/linux/bin/../../src/phobos/std/functional.d(176): Error:
static assert "Bad binary function q{a == b}. You need to use a valid D
expression using symbols a of type dchar and b of type string."
/u/sah2659/dmd2/linux/bin/../../src/phobos/std/functional.d(179):
instantiated from here: Body!(dchar,string)
/u/sah2659/dmd2/linux/bin/../../src/phobos/std/algorithm.d(3410):
instantiated from here: result!(dchar,string)
dummy.d(7): instantiated from here: count!("a == b",string,string)
I can't imagine I'm the first person to notice a bug like this, so is there
something I am doing wrong?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-learn/attachments/20100917/3965f836/attachment.html>
More information about the Digitalmars-d-learn
mailing list