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:
commit
b4fa5b7004
@ -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)]
|
||||
|
@ -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(())
|
||||
}
|
||||
}
|
6
library/core/src/io/mod.rs
Normal file
6
library/core/src/io/mod.rs
Normal 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};
|
@ -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;
|
||||
|
@ -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]
|
1
library/core/tests/io/mod.rs
Normal file
1
library/core/tests/io/mod.rs
Normal file
@ -0,0 +1 @@
|
||||
mod borrowed_buf;
|
@ -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)]
|
||||
|
@ -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(())
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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)]
|
||||
|
Loading…
Reference in New Issue
Block a user