标签: rust immutability traits
答案 0 :(得分:30)
因为Read类型通常是一次性的:通过阅读它,你 突变它。
Read
考虑标准输入:你只能读取一次,所以某些东西必须改变。当您从套接字读取时,您几乎肯定会改变一个内部缓冲区,用于解释您获得的网络数据包之间的差异,以及您希望在任何给定时刻读取的数据量。如何从Chain读取,用于将可读的东西连接在一起;没有突变,它无法跟踪它应该从哪一个读取。
Chain
当然,可能有Read类型,不需要可变访问权来执行读取,但是普遍是真的,并且因为它并非普遍适用,Read特征要求可变访问。