digitalmars.D.learn - std.format.formattedRead and File.readln()
- Eyyub (125/125) Jun 02 2012 Hi,
Hi, This following code won't compile : import std.stdio; import std.format; void main() { auto f = File("myfile.txt", "r"); uint life; formattedRead(f.readln(), "Life %s", &life); // Error 1 formattedRead(cast(string)f.readln(), "Life %s", &life); // Error 1 string str = f.readln(); formattedRead(str, "Life %s", &life); // works writeln(life); } Error 1 : Error: template std.format.formattedRead does not match any function template declaration C:\D\dmd2\windows\bin\..\..\src\phobos\std\format.d(502): Error: template std.fo rmat.formattedRead(R,Char,S...) cannot deduce template function from argument ty pes !()(string,string,uint*) Even more weird : import std.stdio; import std.format; void main() { auto f = File("myfile.txt", "r"); uint life; formattedRead(f.readln(), "Life %s", &life); // Error 1 writeln(typeid(f.readln())); // Error 2 O_o } However : void main() { auto f = File("myfile.txt", "r"); writeln(typeid(f.readln())); // works fine } Error 1 && 2(sorry): mix.d(7): Error: template std.format.formattedRead does not match any function template declaration C:\D\dmd2\windows\bin\..\..\src\phobos\std\format.d(502): Error: template std.fo rmat.formattedRead(R,Char,S...) cannot deduce template function from argument ty pes !()(string,string,uint*) C:\D\dmd2\windows\bin\..\..\src\phobos\std\conv.d(244): Error: template std.conv .toImpl does not match any function template declaration C:\D\dmd2\windows\bin\..\..\src\phobos\std\conv.d(244): Error: template std.conv .toImpl cannot deduce template function from argument types !(string)(ubyte) C:\D\dmd2\windows\bin\..\..\src\phobos\std\conv.d(244): Error: template instance toImpl!(string) errors instantiating template C:\D\dmd2\windows\bin\..\..\src\phobos\std\conv.d(3034): Error: template instanc e std.conv.to!(string).to!(ubyte) error instantiating C:\D\dmd2\windows\bin\..\..\src\phobos\std\conv.d(3016): instantiated fro m here: textImpl!(string,string,void*,string,int,string,int,string,char,string,u byte,string,ubyte,string,bool,string,bool,string,bool,string,bool,string,bool,st ring,const(char)[],string,const(char)[],string) C:\D\dmd2\windows\bin\..\..\src\phobos\std\format.d(1078): instantiated f rom here: text!(string,void*,string,int,string,int,string,char,string,ubyte,stri ng,ubyte,string,bool,string,bool,string,bool,string,bool,string,bool,string,cons t(char)[],string,const(char)[],string) C:\D\dmd2\windows\bin\..\..\src\phobos\std\format.d(392): instantiated fr om here: FormatSpec!(char) C:\D\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(687): ... (1 instantia tions, -v to show) ... C:\D\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(1574): instantiated fr om here: write!(TypeInfo_Array,char) mix.d(8): instantiated from here: writeln!(TypeInfo_Array) C:\D\dmd2\windows\bin\..\..\src\phobos\std\conv.d(3016): Error: template instanc e std.conv.textImpl!(string,string,void*,string,int,string,int,string,char,strin g,ubyte,string,ubyte,string,bool,string,bool,string,bool,string,bool,string,bool ,string,const(char)[],string,const(char)[],string) error instantiating C:\D\dmd2\windows\bin\..\..\src\phobos\std\format.d(1078): instantiated f rom here: text!(string,void*,string,int,string,int,string,char,string,ubyte,stri ng,ubyte,string,bool,string,bool,string,bool,string,bool,string,bool,string,cons t(char)[],string,const(char)[],string) C:\D\dmd2\windows\bin\..\..\src\phobos\std\format.d(392): instantiated fr om here: FormatSpec!(char) C:\D\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(687): instantiated fro m here: formattedWrite!(LockingTextWriter,char,TypeInfo_Array) C:\D\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(1574): instantiated fr om here: write!(TypeInfo_Array,char) mix.d(8): instantiated from here: writeln!(TypeInfo_Array) C:\D\dmd2\windows\bin\..\..\src\phobos\std\format.d(1078): Error: template insta nce std.conv.text!(string,void*,string,int,string,int,string,char,string,ubyte,s tring,ubyte,string,bool,string,bool,string,bool,string,bool,string,bool,string,c onst(char)[],string,const(char)[],string) error instantiating C:\D\dmd2\windows\bin\..\..\src\phobos\std\format.d(392): instantiated fr om here: FormatSpec!(char) C:\D\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(687): instantiated fro m here: formattedWrite!(LockingTextWriter,char,TypeInfo_Array) C:\D\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(1574): instantiated fr om here: write!(TypeInfo_Array,char) mix.d(8): instantiated from here: writeln!(TypeInfo_Array) Any reactions ? :D Thanks !
Jun 02 2012