Rollup merge of #100934 - a1phyr:improve_fmt_PadAdapter, r=Mark-Simulacrum
Remove a panicking branch from `fmt::builders::PadAdapter`
This commit is contained in:
commit
141728fc61
@ -28,24 +28,14 @@ impl<'buf, 'state> PadAdapter<'buf, 'state> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::Write for PadAdapter<'_, '_> {
|
impl fmt::Write for PadAdapter<'_, '_> {
|
||||||
fn write_str(&mut self, mut s: &str) -> fmt::Result {
|
fn write_str(&mut self, s: &str) -> fmt::Result {
|
||||||
while !s.is_empty() {
|
for s in s.split_inclusive('\n') {
|
||||||
if self.state.on_newline {
|
if self.state.on_newline {
|
||||||
self.buf.write_str(" ")?;
|
self.buf.write_str(" ")?;
|
||||||
}
|
}
|
||||||
|
|
||||||
let split = match s.find('\n') {
|
self.state.on_newline = s.ends_with('\n');
|
||||||
Some(pos) => {
|
self.buf.write_str(s)?;
|
||||||
self.state.on_newline = true;
|
|
||||||
pos + 1
|
|
||||||
}
|
|
||||||
None => {
|
|
||||||
self.state.on_newline = false;
|
|
||||||
s.len()
|
|
||||||
}
|
|
||||||
};
|
|
||||||
self.buf.write_str(&s[..split])?;
|
|
||||||
s = &s[split..];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user