borrow-checker 相关问题

借用检查器是指Rust编程语言使用的所有权概念的编译时分析。此标记应用于相关问题和错误。

什么时候Rust编译器不能证明借用是不相交的?

在Nomicon的第3.2节中,在“活跃度”标题下,它表示然而,通常情况下Rust并不足以证明多个借用是不相交的。什么是......

回答 1 投票 1

挣扎于内部可变性

我有这样的数据结构:struct R {hmhs:HashMap >,} impl R {fn hs_for_hmhs(&mut self) - >&mut HashSet {if let None = ...

回答 1 投票 0

如何在匹配分支内分配匹配表达式中使用的变量?

我正在尝试实现一个可以在迭代器的任何迭代器上工作的通用函数join()。我在next()方法实现中的匹配表达式中遇到了借用检查器的问题。 ...

回答 2 投票 1

在容器之后创建借用值时,如何添加对容器的引用?

由于与代码组织相关的原因,我需要编译器接受以下(简化)代码:fn f(){let mut vec = Vec :: new();设a = 0; vec.push(一);设b = 0; ...

回答 1 投票 10

无法移出self.attribute上Box :: into_raw的借用内容

pub struct Themepark {吸引力:盒子 注意:吸引力是一种特质! impl Themepark {pub fn open(&mut self) - >结果{let attraction = ...

回答 1 投票 1

当struct和它的成员具有不同的生命周期时,理解锈中的引用

我正在玩生锈的一生复杂性,我最终编写了以下代码:trait Boss {fn work(&self,&'a i32) - >&c i32;结构人类

回答 1 投票 0

如何在不烦扰借用检查器的情况下建模双向地图?

从为什么我不能在同一个结构中存储值和对该值的引用?我了解到我无法在同一个结构中存储值和引用。建议的解决方案是:最简单的......

回答 1 投票 8

取消引用指向String的原始指针和指向i32的原始指针有什么区别?

fn func(s:* mut String,a:* mut i32) - > usize {println!(“{}”,unsafe {* s}); println!(“{}”,unsafe {* a});不安全{(* s).len()}} fn main(){let mut s = String :: from(“hello”); ...

回答 1 投票 0

如何在方法impl的枚举中返回字符串中的&str?

我想返回城市/城镇/村庄的名称作为str的参考。我可以在实现中指定生命周期,但是也为enum指定它会导致错误,因为它没有引用...

回答 1 投票 2

在模式匹配中克隆非Cloneable对象的可复制元素

我正在开发一个项目,该项目使用BTreeMap和值的自定义枚举。此枚举不能#[derive(Clone)],因为某些变体可以包含不可克隆的值。粗略的轮廓......

回答 1 投票 2

你可以在没有显式引用或所有权移动的情况下在结构上实现数学操作吗?

我无法弄清楚如何在结构上拥有干净的数学,而不需要在任何地方复制这些结构值。如果你想要一个你可以进行数学运算的结构,你会写...

回答 1 投票 6

借用可以委派的解析器的检查器问题

我有几个解析器。有一个顶级的可以委托给另一个。解析器从Reader(可变)获取输入。我只希望一个Parser能够一次解析,只有一个......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.