Using std.format required std.string?
via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun Mar 15 09:22:03 PDT 2015
On Sunday, 15 March 2015 at 15:48:34 UTC, Robert M. Münch wrote:
> Hi, wondering why this happens:
>
> import std.format;
>
> void ods(T...)(auto ref T args){
> format(args).ptr;
> return;
> }
>
> ods("%s @ %s", mystring, mystring.ptr);
>
>>> Error: undefined identifier format
>
> If I add: "import std.string;" everything compiles and works.
>
> Since the docs of std.format contains all the format specifier
> description etc. I would expect that only including
> "std.format" should be enough.
For whatever reasons, format() used to be defined in std.string.
Indeed it's unintuitive to have it there, and it also pulls in
lots of other unrelated things like Unicode tables when you
import std.string. That's why it was moved into std.format in
this PR:
https://github.com/D-Programming-Language/phobos/pull/2732
It will be available in 2.067, soon to be released.
More information about the Digitalmars-d-learn
mailing list