Files
rust/src/libstd
Corey Richardson a6ce402401 rollup merge of #19416: sfackler/global-stdin
io::stdin returns a new `BufferedReader` each time it's called, which
results in some very confusing behavior with disappearing output. It now
returns a `StdinReader`, which wraps a global singleton
`Arc<Mutex<BufferedReader<StdReader>>`. `Reader` is implemented directly
on `StdinReader`. However, `Buffer` is not, as the `fill_buf` method is
fundamentaly un-thread safe. A `lock` method is defined on `StdinReader`
which returns a smart pointer wrapping the underlying `BufferedReader`
while guaranteeing mutual exclusion.

Code that treats the return value of io::stdin as implementing `Buffer`
will break. Add a call to `lock`:

```rust
io::stdin().read_line();
// =>
io::stdin().lock().read_line();
```

Closes #14434

[breaking-change]
2014-12-05 10:06:52 -08:00
..
2014-12-05 09:12:25 -08:00
2014-12-03 10:41:48 -05:00
2014-11-25 17:41:54 -08:00
2014-12-05 09:12:25 -08:00
2014-12-05 09:12:25 -08:00
2014-11-20 23:45:42 +05:30
2014-11-25 17:41:54 -08:00
2014-11-23 15:26:53 -08:00
2014-11-17 07:35:51 -08:00
2014-11-26 18:10:57 -08:00
2014-11-26 16:50:14 -08:00
2014-12-05 09:12:25 -08:00
2014-11-27 15:31:11 +01:00
2014-12-05 09:12:25 -08:00