Skip to content

Commit b9c4301

Browse files
committed
Inline some Cursor calls for slices
(Partially) brings back #33921
1 parent e630580 commit b9c4301

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/libstd/io/cursor.rs

+6
Original file line numberDiff line numberDiff line change
@@ -265,13 +265,15 @@ impl<T> BufRead for Cursor<T> where T: AsRef<[u8]> {
265265
}
266266

267267
// Non-resizing write implementation
268+
#[inline]
268269
fn slice_write(pos_mut: &mut u64, slice: &mut [u8], buf: &[u8]) -> io::Result<usize> {
269270
let pos = cmp::min(*pos_mut, slice.len() as u64);
270271
let amt = (&mut slice[(pos as usize)..]).write(buf)?;
271272
*pos_mut += amt as u64;
272273
Ok(amt)
273274
}
274275

276+
#[inline]
275277
fn slice_write_vectored(
276278
pos_mut: &mut u64,
277279
slice: &mut [u8],
@@ -341,6 +343,7 @@ impl Write for Cursor<&mut [u8]> {
341343
slice_write_vectored(&mut self.pos, self.inner, bufs)
342344
}
343345

346+
#[inline]
344347
fn flush(&mut self) -> io::Result<()> { Ok(()) }
345348
}
346349

@@ -354,6 +357,7 @@ impl Write for Cursor<&mut Vec<u8>> {
354357
vec_write_vectored(&mut self.pos, self.inner, bufs)
355358
}
356359

360+
#[inline]
357361
fn flush(&mut self) -> io::Result<()> { Ok(()) }
358362
}
359363

@@ -367,6 +371,7 @@ impl Write for Cursor<Vec<u8>> {
367371
vec_write_vectored(&mut self.pos, &mut self.inner, bufs)
368372
}
369373

374+
#[inline]
370375
fn flush(&mut self) -> io::Result<()> { Ok(()) }
371376
}
372377

@@ -382,6 +387,7 @@ impl Write for Cursor<Box<[u8]>> {
382387
slice_write_vectored(&mut self.pos, &mut self.inner, bufs)
383388
}
384389

390+
#[inline]
385391
fn flush(&mut self) -> io::Result<()> { Ok(()) }
386392
}
387393

0 commit comments

Comments
 (0)