|
165 | 165 | //! provides some helper methods.
|
166 | 166 | //!
|
167 | 167 | //! Additionally, the return value of this function is `fmt::Result` which is a
|
168 |
| -//! typedef to `Result<(), std::fmt::Error>`. Formatting implementations should |
169 |
| -//! ensure that they propagate errors from the `Formatter` (e.g., when calling |
170 |
| -//! `write!`) however, they should never return errors spuriously. That is, a |
171 |
| -//! formatting implementation must and may only return an error if the passed-in |
172 |
| -//! `Formatter` returns an error. This is because, contrary to what the function |
173 |
| -//! signature might suggest, string formatting is an infallible operation. |
174 |
| -//! This function only returns a result because writing to the underlying stream |
175 |
| -//! might fail and it must provide a way to propagate the fact that an error has |
176 |
| -//! occurred back up the stack. |
| 168 | +//! type alias of `Result<(), std::fmt::Error>`. Formatting implementations |
| 169 | +//! should ensure that they propagate errors from the `Formatter` (e.g., when |
| 170 | +//! calling `write!`) however, they should never return errors spuriously. That |
| 171 | +//! is, a formatting implementation must and may only return an error if the |
| 172 | +//! passed-in `Formatter` returns an error. This is because, contrary to what |
| 173 | +//! the function signature might suggest, string formatting is an infallible |
| 174 | +//! operation. This function only returns a result because writing to the |
| 175 | +//! underlying stream might fail and it must provide a way to propagate the fact |
| 176 | +//! that an error has occurred back up the stack. |
177 | 177 | //!
|
178 | 178 | //! An example of implementing the formatting traits would look
|
179 | 179 | //! like:
|
|
0 commit comments