2
更新:這似乎是一個貨物的bug。請參閱答案鏈接瞭解更多詳情。從stdin讀取數據時讀取「貨物運行」和鏽1.9晚上沒有數據
我從Rust 1.6升級到1.9以便使用包裝。但是,從標準輸入讀取時,終端不再等待輸入。這個問題似乎只與cargo run
(貨物0.10.0-每晚(25e1301 2016-03-25));當我直接運行二進制文件時,一切正常。
我使用幾乎同樣的例子在documentation for 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一起工作就好了。我嘗試在Windows和Linux上使用1.9,結果相同。
爲什麼會發生這種情況,應該如何在Rust 1.9中處理stdin?
無法在一個星期前的晚上再現,更新以確認... –
仍然無法用最新的夜晚,使用'rustc'或'rustc -O'重現。 –
@ChrisMorgan好吧,當我使用'rustc'時,它工作正常,但當我使用'貨物運行'時沒有問題。 – Liam