See #486 for a bug and #488 for a fix for that bug. The fix essentially uses different format strings depending on whether the uppercase flag was set. But this fix doesn't scale to the "swap case" flag. And is just overall hard to get right. e.g., Caller implementations of this trait are unlikely to handle this edge case correctly.
I'm not sure what a better fix for it looks like. Maybe Config should accept parameters for the "default" flag set? Or maybe we should rethink how compound specifiers work? It's very attractive to just make them use the same high level entry point API. So in order for that to work, the high level API needs a way to set the "default" flags. Or some number of them anyway.
See #486 for a bug and #488 for a fix for that bug. The fix essentially uses different format strings depending on whether the uppercase flag was set. But this fix doesn't scale to the "swap case" flag. And is just overall hard to get right. e.g., Caller implementations of this trait are unlikely to handle this edge case correctly.
I'm not sure what a better fix for it looks like. Maybe
Configshould accept parameters for the "default" flag set? Or maybe we should rethink how compound specifiers work? It's very attractive to just make them use the same high level entry point API. So in order for that to work, the high level API needs a way to set the "default" flags. Or some number of them anyway.