diff options
author | David Tolnay <dtolnay@gmail.com> | 2021-07-29 13:33:16 -0700 |
---|---|---|
committer | David Tolnay <dtolnay@gmail.com> | 2021-07-29 13:34:55 -0700 |
commit | c59a4022cd9dd1730a40fba25be9d03ecb8e1ead (patch) | |
tree | 57758d1079b85bc9f6dba0829220593b9d8c515e /gen/src/error.rs | |
parent | 7b76ea088143c5607205698b3aa39c8f0d392ca0 (diff) | |
download | cxx-c59a4022cd9dd1730a40fba25be9d03ecb8e1ead.tar.gz |
Avoid inheriting formatter flags in some Display impls
The previous implementation would produce wrong unintentional output
when formatting with alignment or padding, such as {:<15}.
Diffstat (limited to 'gen/src/error.rs')
-rw-r--r-- | gen/src/error.rs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/gen/src/error.rs b/gen/src/error.rs index 2c8287f3..3672e26e 100644 --- a/gen/src/error.rs +++ b/gen/src/error.rs @@ -87,12 +87,11 @@ pub(crate) fn report(error: impl StdError) -> impl Display { impl<E: StdError> Display for Report<E> { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - Display::fmt(&self.0, formatter)?; + write!(formatter, "{}", self.0)?; let mut error: &dyn StdError = &self.0; while let Some(cause) = error.source() { - formatter.write_str("\n\nCaused by:\n ")?; - Display::fmt(cause, formatter)?; + write!(formatter, "\n\nCaused by:\n {}", cause)?; error = cause; } |