为什么我可以调用File :: open(...)。read_to_end()?

时间:2014-09-19 18:08:35

标签: rust

以下代码有效,我不知道原因:

File::open(&some_path).read_to_end().unwrap();

查看API文档,我可以看到File::open()返回的IoResult没有read_to_end()

是否存在某种语法糖? Result<T, Error>会以某种方式变成Result<U, Error>吗?

文档:http://doc.rust-lang.org/std/io/fs/struct.File.html#method.read_to_end

1 个答案:

答案 0 :(得分:6)

read_to_end来自Reader特征,如果你看一下,你可以看到thereIoResult<R>对任何R的读者的实现实现Reader

impl<R: Reader> Reader for IoResult<R>