Expand description

Macro support for format strings

These structures are used when parsing format strings for the compiler. Parsing does not happen at runtime: structures of std::fmt::rt are generated instead.

Re-exports

pub use Alignment::*;
pub use Count::*;
pub use Flag::*;
pub use Piece::*;
pub use Position::*;

Structs

Representation of an argument specification.
Specification for the formatting of an argument in the format string.
Range inside of a Span used for diagnostics when we only have access to relative positions.
The parser structure for interpreting the input format string. This is modeled as an iterator over Piece structures to form a stream of tokens being output.

Enums

Enum of alignments which are supported.
A count is used for the precision and width parameters of an integer, and can reference either an argument or a literal integer.
Various flags which can be applied to format strings. The meaning of these flags is defined by the formatters themselves.
The type of format string that we are parsing.
A piece is a portion of the format string which represents the next part to emit. These are emitted as a stream by the Parser class.
Enum describing where an argument for a format can be located.

Functions

Finds the indices of all characters that have been processed and differ between the actual written code (code snippet) and the InternedString that gets processed in the Parser in order to properly synthesise the intra-string Spans for error diagnostics.