Is this a known issue in Phobos/DMD?
Timon Gehr
timon.gehr at gmx.ch
Sun Jan 6 13:18:59 PST 2013
On 01/05/2013 05:09 PM, d coder wrote:
> Greetings
>
> When I compile the code below, I unexpectedly get an error:
> test.d(7): Error: template std.string.format does not match any function
> template declaration. Candidates are:
> /home/puneet/local/github-d/bin/../phobos/std/string.d(2528):
> std.string.format(Char, Args...)(in Char[] fmt, Args args)
> test.d(7): Error: template std.string.format(Char, Args...)(in Char[]
> fmt, Args args) cannot deduce template function from argument types
> !()(string,void)
>
> There are a couple of issues involved here.
> 1. std.string is exposing "count" (and some other functions) from
> std.algorithm. I think this should be a bug since count is not listed as
> a method in the std.string documentation.
> 2. Now the function from std.algorithm that becomes visible, shadows the
> local argument count. Is this expected behavior? If not, has it already
> been reported as a bug? At the minimum I expect better error message here.
>
> Thanks and Regards
> - Puneet
>
>
> void main() { // 1
> foo(4); // 2
> } // 3
> // 4
> void foo(int count) { // 5
> import std.string; // 6
> format("%s", count); // 7
> } // 8
>
I think it is a bug, but there is no documentation.
http://d.puremagic.com/issues/show_bug.cgi?id=7329
The part about count is caused by Phobos.
(from std.string:
//Remove when repeat is finally removed. They're only here as part of the
//deprecation of these functions in std.string.
public import std.algorithm : startsWith, endsWith, cmp, count; )
More information about the Digitalmars-d
mailing list