Format conversion doesn't support padding

The padding (and precision) there are part of the Int constructor (and some others) because their meaning is defined for values of those types:

For the Alpha constructor, which corresponds to %a in the format string and may delegate to any printing code, it’s not defined how those should work:

The padding value outside on the %a would somehow have to propagate inside to the %d and apply there. Maybe padding could be implemented generically (not sure if it could or it has some type-specific behavior right now), but the same criticism would apply to flags and precision as well. Those certainly cannot work for arbitrary specifiers.

But indeed, I don’t see it documented, for which specifiers flags/padding/precision work and for which they silently don’t. That’s only apparent from looking at those internals.

1 Like