borrow-checker 相关问题

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

如何在Rust中使用对象作为其自身方法的参数?

我在Rust中为一个简单的结构编写了以下代码。这只是一个例子,它没有太多真实的逻辑:struct Vec2 {x:f32,y:f32,} impl Vec2 {fn multiply(&mut self,...

回答 1 投票 2

为什么这个Rust 2018代码使用`cargo build`编译但不使用rustc?

使用货物构建编译下面的代码片段时,借用检查器看起来很好但是当使用rustc时我得到错误错误[E0502]:不能将`char_counts`借用为可变因为它也是......

回答 1 投票 2

尝试在匹配中改变结构时借用检查器问题

我正在尝试在Rust中实现懒惰的“thunks”,我无法弄清楚如何让我的代码通过借用检查器。一个Thunk的基本想法 只能在两个ThunkStates中的一个:...

回答 4 投票 3

为什么在调用一个方法时借用一个移动的值,该方法通过一个也调用方法的参数来获取值?

我遇到了一个问题,迫使我将一个漂亮的oneliner分成一个带有中间let的{}块。其中的原因根本不清楚。我能够在这个最小的问题中找出问题...

回答 1 投票 3

Rust中的生命周期注释是否会改变变量的生命周期?

Rust章节指出注释不会篡改变量的生命周期,但这有多正确?根据这本书,函数最长需要两个字符串引用和...

回答 2 投票 3

使用构建器模式时,“借来的值不够长”

我有以下代码:pub struct Canvas {width:isize,height:isize,color:Color,surface:Surface,texture:Texture,renderer:&'a Renderer,} impl

回答 1 投票 4

nom解析器借用检查器问题

我使用nom 4.2.2进行了这个Rust程序。 (我已经冒昧地扩展了nom解析器功能。)extern crate failure; extern crate nom;使用失败::错误;使用std :: fs :: File;使用std :: io :: ...

回答 2 投票 2

if-let语句,丢弃在这里但仍然借用[重复]

借用检查员我遇到了一些麻烦。这是代码:extern crate odbc_safe;使用odbc_safe :: *; fn main(){let env = match Environment :: new(){Return :: Success(env)=> env,...

回答 1 投票 0

在Rust中结束可变借用的选项有哪些?

我正在努力与借阅检查员 - 不知道为什么。虽然我通过添加块找到了解决方案,但我很好奇是否有其他方法可以结束可变借用,因此下一个语句可以访问...

回答 1 投票 3

为什么我不能在同一个结构中存储值和对该值的引用?

我有一个值,我想在我自己的类型中存储该值和对该值内部内容的引用:struct Thing {count:u32,} struct Combined(Thing,&'a u32); fn ......

回答 2 投票 174

为什么Rust期望双借(`&&'mut T`)

我的代码如下所示:pub enum Cache {Pending(&'a dyn FnOnce() - > T),Cached(T),} impl Cache {pub fn get(&self) - >&mut T {...

回答 1 投票 0

为什么对const的静态引用返回对临时变量的引用?

在Rust中我有以下代码:pub trait测试:大小{const CONST:Self; fn static_ref() - >&'static Self {&Self :: CONST}}我的期望是因为const是......

回答 2 投票 2

在结构中使用vec

我有一个包含类似结构的vec的结构:struct ProcessNode {... children:Vec >,}不幸的是,当我试图在vec中添加一些东西时,我...

回答 1 投票 -1

具有结构的向量的多次迭代“不能移出借来的内容”[重复]

我需要在循环中的每次迭代中迭代带有结构的向量。只要向量不包含结构,它就可以正常工作。我尝试了很多不同的解决方案,但总是得到某种......

回答 2 投票 0

如何从移动到结构中的Vec中检索项目?

我有一个结构,其中包含一个结构矢量,例如fn main(){let x:Vec = Vec :: new(); //假设x填充了do_things_with(x); } struct Item {...

回答 1 投票 1

HashMap密钥的活动时间不够长

我正在尝试使用HashMap 但我有一个我不明白的错误信息。这是代码(playground):使用std :: collections :: HashMap; trait Trait {} struct Struct; ...

回答 1 投票 5

无法移出封闭内的借来的内容[重复]

这里生锈新手。我正在尝试编写一个消耗传递的向量的函数,修改它,将它附加到另一个向量并返回它。这是我的代码:fn try(其他:Vec

回答 1 投票 0

为什么在同一范围内可以进行多次可变借用?

我编写了这个代码,它不止一次地借用一个可变变量并且编译时没有任何错误,但根据The Rust Programming Language,这不应该编译:fn main(){let mut s = ...

回答 1 投票 2

借用Tokio未来,借来的价值不够长

我正在尝试使用Rust和tokio编写一个简单的HTTP服务器。一切正常,直到我想发送回复。代码如下:使用std :: fs;使用std :: sync :: Arc;使用tokio :: net :: ...

回答 1 投票 0

如何修改在循环中使用自身的Cow变量?

我试图删除字符串中的所有括号。我没有考虑太难,我只是做一个简单的正则表达式替换(即问题不是特别关于摆脱...

回答 1 投票 0

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