https://issues.dlang.org/show_bug.cgi?id=18599

          Issue ID: 18599
           Summary: std.format %(...%) format does not allow modifiers
                    that take additional arguments
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: phobos
          Assignee: nob...@puremagic.com
          Reporter: hst...@quickfur.ath.cx

Currently, this is supported:
-----
import std.format;
format("%(%.14f, %)", [ 1.1, 2.2, 3.3 ]);
-----

and so is this:
-----
format("%(%10.3f, %)", [ 1.1, 2.2, 3.3 ]);
-----

However, this is not supported:
-----
format("%(%.*f, %)", double.dig, [ 1.1, 2.2, 3.3 ]);
-----

Nor this:
-----
format("%(%*.3f, %)", 5, [ 1.1, 2.2, 3.3 ]);
-----

Basically, any nested specifier that takes an additional argument is not
supported, because of the way nested specifiers are implemented.

It would be nice if this could somehow be made to work.

--

Reply via email to