【发布时间】:2017-07-07 19:11:55
【问题描述】:
根据the documentation,我们有左值和右值上下文。我如何知道表达式是否在左值上下文中?它是否仅由赋值中的表达式一侧确定?
更具体地说,我需要了解 DerefMut 何时用于取消引用以及何时使用 Deref?与Index 和IndexMut 相同。
【问题讨论】:
-
文档的下两段似乎回答了您的问题。特别是: 赋值或复合赋值表达式的左操作数是左值上下文,一元借位的单个操作数也是如此。如果进行了 ref 绑定,则匹配表达式的判别式或主题可能是左值上下文,否则是右值上下文。所有其他表达式上下文都是右值上下文。
标签: rust type-inference