2.4 理解省略规则与何时命名生命周期
1分钟内可阅读完
译文 · 基于 Learning Rust
理解省略规则与何时命名生命周期
阅读函数生命周期省略规则。 大多数情况下它们很直观。省略规则围绕常见场景的需求而设计,但并非总是适用。例如,它们假定输入 &'s self 意味着你想返回对 self 或其内容的、生命周期为 's 的借用,但对于携带生命周期的数据结构,这往往并不正确。
如果涉及省略生命周期的错误让你困扰,试着给所有生命周期都起名字。这能改善编译器错误;至少,你不必在脑中费力追踪错误信息里用于举例的数字,或搞清所说的「匿名生命周期」是哪一个。
命名所有生命周期时,务必参照省略规则,否则可能无意中改变了签名的含义。如果错误剧烈变化,你很可能已经改变了签名的含义。
一旦对函数生命周期省略规则有了良好感觉,你就会开始培养直觉,知道何时需要显式命名生命周期。