aboutsummaryrefslogtreecommitdiff
path: root/gen/src/error.rs
diff options
context:
space:
mode:
authorDavid Tolnay <dtolnay@gmail.com>2021-07-29 13:33:16 -0700
committerDavid Tolnay <dtolnay@gmail.com>2021-07-29 13:34:55 -0700
commitc59a4022cd9dd1730a40fba25be9d03ecb8e1ead (patch)
tree57758d1079b85bc9f6dba0829220593b9d8c515e /gen/src/error.rs
parent7b76ea088143c5607205698b3aa39c8f0d392ca0 (diff)
downloadcxx-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.rs5
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;
}