HiveBrain v1.2.0
Get Started
← Back to all entries
snippetrustMajor

What does {:?} mean in a Rust format string?

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
stringdoesmeanrustformatwhat

Problem

I found out that {:?} prints an entire array in Rust. I want to know what is it called and how exactly it works. Is it only limited to printing arrays or could it also be used elsewhere for other purposes?

Solution

This is explained (along with the rest of the formatting syntax) in the std::fmt documentation.

{...} surrounds all formatting directives. : separates the name or ordinal of the thing being formatted (which in this case is omitted, and thus means "the next thing") from the formatting options. The ? is a formatting option that triggers the use of the std::fmt::Debug implementation of the thing being formatted, as opposed to the default Display trait, or one of the other traits (like UpperHex or Octal).

Thus, {:?} formats the "next" value passed to a formatting macro, and supports anything that implements Debug.

Context

Stack Overflow Q#38157335, score: 94

Revisions (0)

No revisions yet.