Skip to content

Commit be57a16

Browse files
committed
Improve debug str generator
Generates more optimized code per https://rust-lang.github.io/rust-clippy/master/index.html#format_collect
1 parent c4440b3 commit be57a16

File tree

4 files changed

+41
-8
lines changed

4 files changed

+41
-8
lines changed

bindgen-tests/tests/expectations/tests/derive-bitfield-method-same-name.rs

Lines changed: 11 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bindgen-tests/tests/expectations/tests/derive-debug-bitfield.rs

Lines changed: 11 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bindgen-tests/tests/expectations/tests/derive-debug-function-pointer.rs

Lines changed: 11 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bindgen/codegen/impl_debug.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,8 +194,14 @@ impl<'a> ImplDebug<'a> for Item {
194194
self.#name_ident
195195
.iter()
196196
.enumerate()
197-
.map(|(i, v)| format!("{}{:?}", if i > 0 { ", " } else { "" }, v))
198-
.collect::<String>()
197+
.fold(String::new(), |mut output, (i, v)| {
198+
use std::fmt::Write as _;
199+
if i > 0 {
200+
output.push_str(", ");
201+
}
202+
let _ = write!(output, "{:?}", v);
203+
output
204+
})
199205
}],
200206
))
201207
}

0 commit comments

Comments
 (0)