![]() |
1
9
简单的回答是:没有。
你可能知道,但编译器不知道。具体而言,生命期当前绑定到它们在中定义的词法范围。您正在查找的功能称为 non-lexical lifetimes .它现在不稳定,但计划在Rust 2018版中启用。 例如:
程序员可以告诉我们已经完成了
您的情况更加阴险,因为清除字符串的决定与字符串本身的借用值交织在一起。像这样的东西将是我第一个到达的地方:
然而,您的特定案例可能能够被转换以避免多个
如果引入新的类型和/或方法,这看起来不会太糟糕。作为奖励,有一个地方
启用NLL时,原始代码按原样工作:
|
![]() |
newbie99 · 如何向字符串片段暗示特定数量的字节 2 年前 |
![]() |
David · `match的手臂类型不兼容 2 年前 |
![]() |
Lucas Lima · 如何打印对象的元素? 2 年前 |
![]() |
Xavi Font · 访问父结构中可选对象/结构/变量的属性 2 年前 |
![]() |
Kai · 有什么方法可以轻松优化VSCode中的锈迹? 2 年前 |