On Mon, Nov 09, 2015 at 03:09:26PM +0000, rumbu via Digitalmars-d-learn wrote: > Let's say that I'm a library provider and I intend to offer a > completely new data type suitable for printing with format() or > writef(). > > According to this tutorial > (http://wiki.dlang.org/Defining_custom_print_format_specifiers), to > achieve this, one must import at least std.format : FormatSpec. > > The problem is that just importing FormatSpec will create exactly 88 > phobos dependencies. > > Is there any way to provide formatting capabilities for a custom data > type without importing the FormatSpec thing?
Do you need *custom* format specifiers? If all you need is to be able to write: format("%s", myData), then the only thing you need to do is to implement one of the toString methods recognized by format(), such as: void toString(scope void delegate(const(char)[]) dg) { ... } and format() should be able to just pick it up. T -- You have to expect the unexpected. -- RL