Skip to content

Commit ced1252

Browse files
committed
Introduce into_inner method on std::io::Take.
#23755
1 parent eaf71f8 commit ced1252

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/libstd/io/mod.rs

+27
Original file line numberDiff line numberDiff line change
@@ -1501,6 +1501,33 @@ impl<T> Take<T> {
15011501
/// ```
15021502
#[stable(feature = "rust1", since = "1.0.0")]
15031503
pub fn limit(&self) -> u64 { self.limit }
1504+
1505+
/// Consumes the `Take`, returning the wrapped reader.
1506+
///
1507+
/// # Examples
1508+
///
1509+
/// ```
1510+
/// #![feature(io_take_into_inner)]
1511+
///
1512+
/// use std::io;
1513+
/// use std::io::prelude::*;
1514+
/// use std::fs::File;
1515+
///
1516+
/// # fn foo() -> io::Result<()> {
1517+
/// let mut file = try!(File::open("foo.txt"));
1518+
///
1519+
/// let mut buffer = [0; 5];
1520+
/// let mut handle = file.take(5);
1521+
/// try!(handle.read(&mut buffer));
1522+
///
1523+
/// let file = handle.into_inner();
1524+
/// # Ok(())
1525+
/// # }
1526+
/// ```
1527+
#[unstable(feature = "io_take_into_inner", issue = "0")]
1528+
pub fn into_inner(self) -> T {
1529+
self.inner
1530+
}
15041531
}
15051532

15061533
#[stable(feature = "rust1", since = "1.0.0")]

0 commit comments

Comments
 (0)