tao-of-rust-codes
tao-of-rust-codes copied to clipboard
「第十三章」 `13.2.2` 节 `子类型与型变` 中的错误
页码与行数
- 第 492 页
- 第 11 行
文本或排版错误
Fn(T) -> U 在 T 上是不变,在 U 上是协变。
按照 我测试的结果 ,Fn 在 T 上应该是逆变的。
同理,第 494 页第二行,“普通的函数调用,参数是不变”,但实际上也是逆变的:一个类型为 &'a str 的形参永远可以传一个 &'static str 的实参进去。
PS:感觉这里实际上应该用 fn(T) -> U ? fn 类型比 Fn trait 更加基础重要一些。
PS2:493 页就写了 PhantomData<fn(T)> 在 T 上是逆变 😂
@mzji 感谢反馈。我来调研一下。
结果如何
@acodercat 他说的应该是对的,还没抽出时间看这块