我有一个来自Rust编译器的生命周期/借用错误,我无法理解。问题似乎是Rust假设当一个参数被传递给一个返回对静态值的引用的函数时,该参数引用也必须是静态的。, test_thingy);}
test_out_thingy();Rust错误:error[E0597]: `tmp_val` does notlive long enough - E0597指的是当一个值被丢弃时,它仍然是<em
我刚从Rust开始。关于这段代码,我在理解可变和不可变借用方面遇到了一些困难。这是我正在测试的代码。我的问题是,为什么编译器不将其标记为这样的错误?immutable borrow occurs here | mutable borrow later used here
赋值的右边不是一个不可变的借来吗为什么只将第一个代码片段标记为错误
我试着用铁锈中的箱来阻止单词的向量。*t = stemmer.stem_str(t);,并拒绝了我的代码。(第80行是for line in input.lock().lines()块的末尾。)()并期望将所获得的&str分配给*t,因为long检查程序抱怨“借来的值没有足够长的寿命”。needs to live until here (rust-cargo)
我不确定这是否与这个库的实现细节有关,但我真的觉