Rollup merge of #117694 - jmillikin:core-io-borrowed-buf, r=m-ou-se

Move `BorrowedBuf` and `BorrowedCursor` from `std:io` to `core::io`

Tracking issue: https://github.com/rust-lang/rust/issues/117693

ACP: https://github.com/rust-lang/libs-team/issues/290
This commit is contained in:
Takayuki Maeda 2023-11-09 11:36:52 +09:00 committed by GitHub
commit b4fa5b7004
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 31 additions and 22 deletions

View File

@ -24,6 +24,7 @@
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
#![feature(array_windows)]
#![feature(cfg_match)]
#![feature(core_io_borrowed_buf)]
#![feature(if_let_guard)]
#![feature(let_chains)]
#![feature(min_specialization)]

View File

@ -1,10 +1,6 @@
#![unstable(feature = "read_buf", issue = "78485")]
#[cfg(test)]
mod tests;
#![unstable(feature = "core_io_borrowed_buf", issue = "117693")]
use crate::fmt::{self, Debug, Formatter};
use crate::io::{Result, Write};
use crate::mem::{self, MaybeUninit};
use crate::{cmp, ptr};
@ -303,16 +299,3 @@ pub fn append(&mut self, buf: &[u8]) {
self.buf.filled += buf.len();
}
}
impl<'a> Write for BorrowedCursor<'a> {
fn write(&mut self, buf: &[u8]) -> Result<usize> {
let amt = cmp::min(buf.len(), self.capacity());
self.append(&buf[..amt]);
Ok(amt)
}
#[inline]
fn flush(&mut self) -> Result<()> {
Ok(())
}
}

View File

@ -0,0 +1,6 @@
//! Traits, helpers, and type definitions for core I/O functionality.
mod borrowed_buf;
#[unstable(feature = "core_io_borrowed_buf", issue = "117693")]
pub use self::borrowed_buf::{BorrowedBuf, BorrowedCursor};

View File

@ -369,6 +369,8 @@ pub mod assert_matches {
pub mod cell;
pub mod char;
pub mod ffi;
#[unstable(feature = "core_io_borrowed_buf", issue = "117693")]
pub mod io;
pub mod iter;
pub mod net;
pub mod option;

View File

@ -1,5 +1,5 @@
use super::BorrowedBuf;
use crate::mem::MaybeUninit;
use core::io::BorrowedBuf;
use core::mem::MaybeUninit;
/// Test that BorrowedBuf has the correct numbers when created with new
#[test]

View File

@ -0,0 +1 @@
mod borrowed_buf;

View File

@ -23,6 +23,7 @@
#![feature(const_likely)]
#![feature(const_location_fields)]
#![feature(core_intrinsics)]
#![feature(core_io_borrowed_buf)]
#![feature(core_private_bignum)]
#![feature(core_private_diy_float)]
#![feature(dec2flt)]
@ -135,6 +136,7 @@
mod future;
mod hash;
mod intrinsics;
mod io;
mod iter;
mod lazy;
#[cfg(test)]

View File

@ -528,3 +528,17 @@ fn flush(&mut self) -> io::Result<()> {
Ok(())
}
}
#[unstable(feature = "read_buf", issue = "78485")]
impl<'a> io::Write for core::io::BorrowedCursor<'a> {
fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
let amt = cmp::min(buf.len(), self.capacity());
self.append(&buf[..amt]);
Ok(amt)
}
#[inline]
fn flush(&mut self) -> io::Result<()> {
Ok(())
}
}

View File

@ -330,7 +330,7 @@
};
#[unstable(feature = "read_buf", issue = "78485")]
pub use self::readbuf::{BorrowedBuf, BorrowedCursor};
pub use core::io::{BorrowedBuf, BorrowedCursor};
pub(crate) use error::const_io_error;
mod buffered;
@ -339,7 +339,6 @@
mod error;
mod impls;
pub mod prelude;
mod readbuf;
mod stdio;
mod util;

View File

@ -310,6 +310,7 @@
// tidy-alphabetical-start
#![feature(char_internals)]
#![feature(core_intrinsics)]
#![feature(core_io_borrowed_buf)]
#![feature(duration_constants)]
#![feature(error_generic_member_access)]
#![feature(error_in_core)]