При чтении из 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

Похоже на ту же проблему. Вероятно, ошибка.

Другие вопросы по тегам