c5142056f7
This is an implementation of RFC 899 and adds stdio functionality to the new `std::io` module. Details of the API can be found on the RFC, but from a high level: * `io::{stdin, stdout, stderr}` constructors are now available. There are also `*_raw` variants for unbuffered and unlocked access. * All handles are globally shared (excluding raw variants). * The stderr handle is no longer buffered. * All handles can be explicitly locked (excluding the raw variants). The `print!` and `println!` machinery has not yet been hooked up to these streams just yet. The `std::fmt::output` module has also not yet been implemented as part of this commit.
32 lines
1.0 KiB
Rust
32 lines
1.0 KiB
Rust
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
|
|
// file at the top-level directory of this distribution and at
|
|
// http://rust-lang.org/COPYRIGHT.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
|
// option. This file may not be copied, modified, or distributed
|
|
// except according to those terms.
|
|
|
|
// DON'T REENABLE THIS UNLESS YOU'VE ACTUALLY FIXED THE UNDERLYING ISSUE
|
|
// ignore-android seems to block forever
|
|
|
|
#![forbid(warnings)]
|
|
|
|
// Pretty printing tests complain about `use std::predule::*`
|
|
#![allow(unused_imports)]
|
|
|
|
// A var moved into a proc, that has a mutable loan path should
|
|
// not trigger a misleading unused_mut warning.
|
|
|
|
use std::io::prelude::*;
|
|
use std::thread;
|
|
|
|
pub fn main() {
|
|
let mut stdin = std::io::stdin();
|
|
thread::spawn(move|| {
|
|
let mut v = Vec::new();
|
|
let _ = stdin.read_to_end(&mut v);
|
|
}).join().ok().unwrap();
|
|
}
|