But maybe you can propose cjange from ref R r to auto ref R r https://dlang.org/spec/template.html#auto-ref-parameters
On Fri, Dec 29, 2017 at 8:50 AM, Daniel Kozak <[email protected]> wrote: > No it is not a bug, because > uint formattedRead(alias fmt, R, S...)(ref R r, auto ref S args) > could not match (there is a ref R r) so in your first example you dont > have lvalue but rvalue > > > On Fri, Dec 29, 2017 at 8:30 AM, IM via Digitalmars-d < > [email protected]> wrote: > >> The following code: >> >> int guess; >> readln().formattedRead!"%d"(guess); >> >> produces the following compiler error: >> >> Error: template std.format.formattedRead cannot deduce function from >> argument types !("%s")(string, int), candidates are: >> /usr/include/dmd/phobos/std/format.d(635): >> std.format.formattedRead(alias fmt, R, S...)(ref R r, auto ref S args) if >> (isSomeString!(typeof(fmt))) >> /usr/include/dmd/phobos/std/format.d(644): >> std.format.formattedRead(R, Char, S...)(ref R r, const(Char)[] fmt, auto >> ref S args) >> >> That is odd! I expected this to match: >> >> uint formattedRead(alias fmt, R, S...)(ref R r, auto ref S args) >> >> However, the following works!!! >> >> int guess; >> string line = readln(); >> line.formattedRead!"%d"(guess); >> >> >> This definitely looks like a bug, but I want to confirm first before >> filing one. >> >> >
