# Libs Meeting 2022-01-05
###### tags: `Libs Meetings` `Minutes`
**Meeting Link**: https://meet.jit.si/rust-libs-meeting-ujepnbwg2lzqgt6wvrndwimi
**Attendees**: Amanieu, Jane, Josh Triplett, Josh Stone, Mara
## Agenda
- Triage: empty!
- Talk about fmt::Arguments - Mara to present
- Anything else?
## fmt::Arguments
- Now used in all `panic!` calls, even single-argument ones
- Added compile-time overhead and inclusion of more code in more cases
- fmt::Arguments has three pointer/size pairs: static strings between placeholders, optional array of flags (width/fill/align/etc), array of object/format-func pairs
- Possibility: Turn fmt::Arguments into a closure, whose code does all the formatting calls, and whose captures are the arguments being formatted
- Upside: reuse the closure machinery
- Upside: minimize the non-static size to just the captures of the closure
- Downside: more code generation
- Possibility: Pointer to a single array of "commands" to be interpreted
- Commands:
- PrintStr
- PrintArg
- SetFlags
- SetPrec
- SetPrecArg
- ...
- End
- Possibility: Encode those "commands" with bit-packing, and have a separate array of arguments
- We should try this last one, and try the closure case
- Massive open question: What are our selection criteria?