Why do I need use std::io::prelude::*
to use BufReader.read_line
? I'm looking at the example in the BufReader
documentation.
Also, I thought the prelude is automatically included?
Why do I need use std::io::prelude::*
to use BufReader.read_line
? I'm looking at the example in the BufReader
documentation.
Also, I thought the prelude is automatically included?
The only prelude that is automatically included is the main std prelude, nothing else. std::io::prelude
is a normal module with nothing special going on, but it follows a common pattern in larger modules/crates to put the most common parts in a module named prelude
for ease of use. You could use std::io::{BufRead, BufReader};
manually to use BufReader::read_line
, but importing everything from prelude is simpler.
Cool thanks
Just to clarify for myself, BufReader
implements the trait BufRead
and the read_line
method is defined in the BufRead
trait. So if we want to use the method from the trait we have to import the trait.
Exactly
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.