При чтении из stdin данные не читаются при запуске с `cargo run` и Rust 1.9 по ночам
Обновление: это похоже на ошибку груза. Смотрите ссылку для ответа для более подробной информации.
Я обновил Rust 1.6 до 1.9, чтобы использовать пакет. Однако терминал больше не ожидает ввода при чтении со стандартного ввода. Эта проблема, кажется, только с cargo run
(груз 0.10.0-ночной (25e1301 2016-03-25)); все работает нормально, когда я запускаю двоичный файл напрямую.
Я использую почти тот же пример, что приведен в документации дляStdin
:
use std::io;
let mut input = String::new();
match io::stdin().read_line(&mut input) {
Ok(n) => {
println!("{} bytes read", n);
println!("{}", input);
}
Err(error) => println!("error: {}", error),
}
Выполнение этого примера с cargo run
печать 0 bytes read
,
У меня есть компилятор 1.6 и 1.9 на моем компьютере, и код работает с 1.6 просто отлично. Я попытался использовать 1.9 на Windows и Linux с одинаковыми результатами.
Почему это происходит и как нужно обрабатывать stdin в Rust 1.9?
1 ответ
Эта ошибка была только что подана: https://github.com/rust-lang/cargo/issues/2530
Похоже на ту же проблему. Вероятно, ошибка.