Skip to content

Commit 351721c

Browse files
steveklabnikManishearth
authored andcommitted
Small formatting fixes to fmt.rs
1 parent 12cb7c6 commit 351721c

File tree

1 file changed

+23
-22
lines changed

1 file changed

+23
-22
lines changed

src/libcollections/fmt.rs

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
//! This macro is implemented in the compiler to emit calls to this module in
1717
//! order to format arguments at runtime into strings and streams.
1818
//!
19-
//! ## Usage
19+
//! # Usage
2020
//!
2121
//! The `format!` macro is intended to be familiar to those coming from C's
2222
//! printf/fprintf functions or Python's `str.format` function. In its current
@@ -41,7 +41,7 @@
4141
//! will then parse the format string and determine if the list of arguments
4242
//! provided is suitable to pass to this format string.
4343
//!
44-
//! ### Positional parameters
44+
//! ## Positional parameters
4545
//!
4646
//! Each formatting argument is allowed to specify which value argument it's
4747
//! referencing, and if omitted it is assumed to be "the next argument". For
@@ -54,7 +54,7 @@
5454
//! iterator over the argument. Each time a "next argument" specifier is seen,
5555
//! the iterator advances. This leads to behavior like this:
5656
//!
57-
//! ```rust
57+
//! ```
5858
//! format!("{1} {} {0} {}", 1, 2); // => "2 1 1 2"
5959
//! ```
6060
//!
@@ -68,7 +68,7 @@
6868
//! compile-time error. You may refer to the same argument more than once in the
6969
//! format string, although it must always be referred to with the same type.
7070
//!
71-
//! ### Named parameters
71+
//! ## Named parameters
7272
//!
7373
//! Rust itself does not have a Python-like equivalent of named parameters to a
7474
//! function, but the `format!` macro is a syntax extension which allows it to
@@ -91,7 +91,7 @@
9191
//! arguments which have names. Like with positional parameters, it is illegal
9292
//! to provide named parameters that are unused by the format string.
9393
//!
94-
//! ### Argument types
94+
//! ## Argument types
9595
//!
9696
//! Each argument's type is dictated by the format string. It is a requirement
9797
//! that every argument is only ever referred to by one type. For example, this
@@ -116,7 +116,7 @@
116116
//! {:.*} {0}
117117
//! ```
118118
//!
119-
//! ### Formatting traits
119+
//! ## Formatting traits
120120
//!
121121
//! When requesting that an argument be formatted with a particular type, you
122122
//! are actually requesting that an argument ascribes to a particular trait.
@@ -142,7 +142,7 @@
142142
//! When implementing a format trait for your own type, you will have to
143143
//! implement a method of the signature:
144144
//!
145-
//! ```rust
145+
//! ```
146146
//! # use std::fmt;
147147
//! # struct Foo; // our custom type
148148
//! # impl fmt::Display for Foo {
@@ -166,7 +166,7 @@
166166
//! An example of implementing the formatting traits would look
167167
//! like:
168168
//!
169-
//! ```rust
169+
//! ```
170170
//! use std::fmt;
171171
//! use std::f64;
172172
//! use std::num::Float;
@@ -211,7 +211,7 @@
211211
//! }
212212
//! ```
213213
//!
214-
//! #### fmt::Display vs fmt::Debug
214+
//! ### fmt::Display vs fmt::Debug
215215
//!
216216
//! These two formatting traits have distinct purposes:
217217
//!
@@ -231,7 +231,7 @@
231231
//! assert_eq!(format!("{} {:?}", "foo\n", "bar\n"), "foo\n \"bar\\n\"");
232232
//! ```
233233
//!
234-
//! ### Related macros
234+
//! ## Related macros
235235
//!
236236
//! There are a number of related macros in the `format!` family. The ones that
237237
//! are currently implemented are:
@@ -245,32 +245,33 @@
245245
//! format_args! // described below.
246246
//! ```
247247
//!
248-
//! #### `write!`
248+
//! ### `write!`
249249
//!
250250
//! This and `writeln` are two macros which are used to emit the format string
251251
//! to a specified stream. This is used to prevent intermediate allocations of
252252
//! format strings and instead directly write the output. Under the hood, this
253253
//! function is actually invoking the `write` function defined in this module.
254254
//! Example usage is:
255255
//!
256-
//! ```rust
256+
//! ```
257257
//! # #![allow(unused_must_use)]
258258
//! let mut w = Vec::new();
259259
//! write!(&mut w, "Hello {}!", "world");
260260
//! ```
261261
//!
262-
//! #### `print!`
262+
//! ### `print!`
263263
//!
264264
//! This and `println` emit their output to stdout. Similarly to the `write!`
265265
//! macro, the goal of these macros is to avoid intermediate allocations when
266266
//! printing output. Example usage is:
267267
//!
268-
//! ```rust
268+
//! ```
269269
//! print!("Hello {}!", "world");
270270
//! println!("I have a newline {}", "character at the end");
271271
//! ```
272272
//!
273-
//! #### `format_args!`
273+
//! ### `format_args!`
274+
//!
274275
//! This is a curious macro which is used to safely pass around
275276
//! an opaque object describing the format string. This object
276277
//! does not require any heap allocations to create, and it only
@@ -303,7 +304,7 @@
303304
//! it would internally pass around this structure until it has been determined
304305
//! where output should go to.
305306
//!
306-
//! ## Syntax
307+
//! # Syntax
307308
//!
308309
//! The syntax for the formatting language used is drawn from other languages,
309310
//! so it should not be too alien. Arguments are formatted with python-like
@@ -326,14 +327,14 @@
326327
//! parameter := integer '$'
327328
//! ```
328329
//!
329-
//! ## Formatting Parameters
330+
//! # Formatting Parameters
330331
//!
331332
//! Each argument being formatted can be transformed by a number of formatting
332333
//! parameters (corresponding to `format_spec` in the syntax above). These
333334
//! parameters affect the string representation of what's being formatted. This
334335
//! syntax draws heavily from Python's, so it may seem a bit familiar.
335336
//!
336-
//! ### Fill/Alignment
337+
//! ## Fill/Alignment
337338
//!
338339
//! The fill character is provided normally in conjunction with the `width`
339340
//! parameter. This indicates that if the value being formatted is smaller than
@@ -345,7 +346,7 @@
345346
//! * `^` - the argument is center-aligned in `width` columns
346347
//! * `>` - the argument is right-aligned in `width` columns
347348
//!
348-
//! ### Sign/#/0
349+
//! ## Sign/#/0
349350
//!
350351
//! These can all be interpreted as flags for a particular formatter.
351352
//!
@@ -368,7 +369,7 @@
368369
//! same format would yield `-0000001` for the integer `-1`. Notice that
369370
//! the negative version has one fewer zero than the positive version.
370371
//!
371-
//! ### Width
372+
//! ## Width
372373
//!
373374
//! This is a parameter for the "minimum width" that the format should take up.
374375
//! If the value's string does not fill up this many characters, then the
@@ -384,7 +385,7 @@
384385
//! parameters by using the `2$` syntax indicating that the second argument is a
385386
//! `usize` specifying the width.
386387
//!
387-
//! ### Precision
388+
//! ## Precision
388389
//!
389390
//! For non-numeric types, this can be considered a "maximum width". If the
390391
//! resulting string is longer than this width, then it is truncated down to
@@ -395,7 +396,7 @@
395396
//! For floating-point types, this indicates how many digits after the decimal
396397
//! point should be printed.
397398
//!
398-
//! ## Escaping
399+
//! # Escaping
399400
//!
400401
//! The literal characters `{` and `}` may be included in a string by preceding
401402
//! them with the same character. For example, the `{` character is escaped with

0 commit comments

Comments
 (0)