diff options
| author | Benoît du Garreau <bdgdlm@outlook.com> | 2022-08-24 01:21:40 +0200 |
|---|---|---|
| committer | Benoît du Garreau <bdgdlm@outlook.com> | 2022-08-24 01:21:40 +0200 |
| commit | 3aa6fe376d776aa62a89d7b7ef4929eda51ce034 (patch) | |
| tree | f203cf41705279f6db65e4e4f00c0115caa3c7e0 | |
| parent | 060e47f74a91b28c3db28d80a6a9d6841ca51026 (diff) | |
| download | rust-3aa6fe376d776aa62a89d7b7ef4929eda51ce034.tar.gz rust-3aa6fe376d776aa62a89d7b7ef4929eda51ce034.zip | |
Remove a packing branch from `fmt::builders::PadAdapter`
| -rw-r--r-- | library/core/src/fmt/builders.rs | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/library/core/src/fmt/builders.rs b/library/core/src/fmt/builders.rs index 32d1a4e5508..7da49b04aaa 100644 --- a/library/core/src/fmt/builders.rs +++ b/library/core/src/fmt/builders.rs @@ -28,24 +28,14 @@ impl<'buf, 'state> PadAdapter<'buf, 'state> { } impl fmt::Write for PadAdapter<'_, '_> { - fn write_str(&mut self, mut s: &str) -> fmt::Result { - while !s.is_empty() { + fn write_str(&mut self, s: &str) -> fmt::Result { + for s in s.split_inclusive('\n') { if self.state.on_newline { self.buf.write_str(" ")?; } - let split = match s.find('\n') { - Some(pos) => { - self.state.on_newline = true; - pos + 1 - } - None => { - self.state.on_newline = false; - s.len() - } - }; - self.buf.write_str(&s[..split])?; - s = &s[split..]; + self.state.on_newline = s.ends_with('\n'); + self.buf.write_str(s)?; } Ok(()) |
