为什么必须在下面的`use`声明中包含`BufRead`和`Write`?

时间:2018-10-03 02:19:39

标签: rust

为什么在下面的BufRead声明中必须包含Writeuse

use std::io::{self, BufRead, Write};

fn main() -> io::Result<()> {
    let stdin = io::stdin();
    for line in stdin.lock().lines() {
        io::stdout().write(line.unwrap().as_bytes())?;
    }
    Ok(())
}

从文档中我了解到use基本上为您提供了一种引用名称的捷径,但是这里Write尤其是BufRead并没有直接在代码中使用。 write看起来像是一种对任何io::stdout()返回的方法,并且代码中根本没有提到BufRead

如何弄清楚哪些use声明是必需的规则?

0 个答案:

没有答案