www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 18599] New: std.format %(...%) format does not allow

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: nobody puremagic.com
          Reporter: hsteoh 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.

--
Mar 12 2018