The documentation for core::fmt::Arguments states:
This structure represents a safely precompiled version of a format string and its arguments. This cannot be generated at runtime because it cannot safely be done, so no constructors are given and the fields are private to prevent modification.
Exactly what is it about generating such a structure at runtime that cannot safely be done?