rust - que - tipos de argumentos
NĂºmero incorrecto de argumentos de tipo: esperado 1 pero encontrado 0 (1)
Estoy tratando de pasar una referencia de std::io::BufferedReader
a una función, pero obtengo este mensaje de wrong number of type arguments: expected 1 but found 0
.
fn parse_cmp(buf: &mut BufferedReader) -> cmp::CompressedMap {
...
}
fn main() {
let path = Path::new("data/nyc.cmp");
let mut buf = BufferedReader::new(File::open(&path));
let map = parse_cmp(&buf);
}
¿Que me estoy perdiendo aqui?
Una mirada a la implementación de BufferedReader lo deja en claro:
impl<R: Reader> BufferedReader<R>
Cambie su función a:
fn parse_cmp<R: Reader>(buf: &mut BufferedReader<R>)
También puede definir un tipo concreto:
fn parse_cmp(buf: &mut BufferedReader<File>)